/* ═══════════════════════════════════════════════════════════════
   AUTOSKLO VT — nadstavba nad šablónou Signflow
   Zachováva typografiu, farby a animácie šablóny; dopĺňa
   tmavú tému, zaoblenia, tiene v štýle macOS a responzívne
   správanie pre MacBook Air, tablet a mobil.
   ═══════════════════════════════════════════════════════════════ */

:root {
    /* Hlavná farba zo šablóny; žltá z loga slúži ako akcent. */
    --asvt-primary: #5584ff;
    --asvt-primary-dark: #3e6be0;
    --asvt-primary-ink: #3e6be0;
    --asvt-accent: #ffcd00;
    --asvt-accent-dark: #e0b400;
    --asvt-on-primary: #ffffff;

    --asvt-bg: #ffffff;
    --asvt-bg-alt: #f5f7fb;
    --asvt-bg-panel: #ffffff;
    --asvt-bg-elevated: #ffffff;
    --asvt-text: #2b3245;
    --asvt-text-soft: #66708a;
    --asvt-text-invert: #ffffff;
    --asvt-border: rgba(24, 34, 56, .10);
    --asvt-border-strong: rgba(24, 34, 56, .18);

    /* Zaoblenie v duchu macOS — jemné na malých prvkoch, výraznejšie na kartách */
    --asvt-radius-xs: 8px;
    --asvt-radius-sm: 10px;
    --asvt-radius: 14px;
    --asvt-radius-lg: 20px;
    --asvt-radius-pill: 999px;

    /* Tiene odvodené od vrstvenia okien v macOS: mäkké, viacvrstvové */
    --asvt-shadow-1: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 12px rgba(16, 24, 40, .07);
    --asvt-shadow-2: 0 2px 6px rgba(16, 24, 40, .05), 0 12px 28px rgba(16, 24, 40, .11);
    --asvt-shadow-3: 0 4px 12px rgba(16, 24, 40, .06), 0 24px 48px rgba(16, 24, 40, .15);
    --asvt-shadow-glow: 0 8px 24px rgba(85, 132, 255, .30);

    --asvt-ease: cubic-bezier(.22, .68, .36, 1);
    --asvt-dur: .38s;

    --asvt-header-h: 82px;
    --asvt-topbar-h: 38px;
}

html[data-theme="dark"] {
    --asvt-primary-ink: #7fa2ff;
    --asvt-bg: #10151f;
    --asvt-bg-alt: #161d2b;
    --asvt-bg-panel: #1b2436;
    --asvt-bg-elevated: #212b40;
    --asvt-text: #e6eaf4;
    --asvt-text-soft: #9aa6bf;
    --asvt-border: rgba(255, 255, 255, .10);
    --asvt-border-strong: rgba(255, 255, 255, .18);

    --asvt-shadow-1: 0 1px 2px rgba(0, 0, 0, .30), 0 4px 12px rgba(0, 0, 0, .34);
    --asvt-shadow-2: 0 2px 6px rgba(0, 0, 0, .34), 0 12px 28px rgba(0, 0, 0, .44);
    --asvt-shadow-3: 0 4px 12px rgba(0, 0, 0, .38), 0 24px 48px rgba(0, 0, 0, .52);
}

/* ── Základ ──────────────────────────────────────────────────── */
html, body {
    background: var(--asvt-bg);
    color: var(--asvt-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}
body { transition: background-color var(--asvt-dur) var(--asvt-ease), color var(--asvt-dur) var(--asvt-ease); }

h1, h2, h3, h4, h5, h6 { color: var(--asvt-text); }
p, li, td, th, label { color: inherit; }
a { transition: color .22s var(--asvt-ease), background-color .22s var(--asvt-ease), border-color .22s var(--asvt-ease); }

.asvt-muted { color: var(--asvt-text-soft) !important; }
.asvt-lead { font-size: 17px; line-height: 1.7; color: var(--asvt-text-soft); }

.skip-link {
    position: absolute; left: -9999px; top: 0; z-index: 10000;
    background: var(--asvt-primary); color: #fff; padding: 12px 20px;
    border-radius: 0 0 var(--asvt-radius-sm) 0;
}
.skip-link:focus { left: 0; }

:focus-visible {
    outline: 3px solid var(--asvt-primary);
    outline-offset: 2px;
    border-radius: var(--asvt-radius-xs);
}

/* Sekcie — prepis šablónových pozadí na premenné témy */
.section-empty, .section-item { background: var(--asvt-bg) !important; }
.section-bg-color { background: var(--asvt-bg-alt) !important; }
html[data-theme="dark"] .section-bg-image::before {
    content: ''; position: absolute; inset: 0; background: rgba(10, 14, 22, .55); z-index: 0;
}
html[data-theme="dark"] .section-bg-image > * { position: relative; z-index: 1; }

/* Boxy */
.boxed-inverse,
html .boxed-inverse {
    background: var(--asvt-bg-panel) !important;
    color: var(--asvt-text);
    border-radius: var(--asvt-radius) !important;
    border: 1px solid var(--asvt-border);
}
.shadow-1, .boxed-inverse.shadow-1 { box-shadow: var(--asvt-shadow-1) !important; }
.shadow-2, .boxed-inverse.shadow-2 { box-shadow: var(--asvt-shadow-2) !important; }
.shadow-3 { box-shadow: var(--asvt-shadow-3) !important; }

.title-base h1, .title-base h2 { color: var(--asvt-text); }
.title-base p { color: var(--asvt-text-soft); }
.white .title-base h1, .white .title-base h2, .white .title-base p,
.overlay-content.white, .overlay-content.white h2, .overlay-content.white p { color: #fff; }

/* ── Zaoblenie a animácie obrázkov ───────────────────────────── */
.img-box,
.img-box img,
.asvt-service-img,
.advs-box .img-box img,
.grid-item .img-box,
.maso-item .img-box,
figure img {
    border-radius: var(--asvt-radius) !important;
    overflow: hidden;
}
.img-box {
    box-shadow: var(--asvt-shadow-2);
    transition: transform var(--asvt-dur) var(--asvt-ease), box-shadow var(--asvt-dur) var(--asvt-ease);
    will-change: transform;
}
.img-box:hover { transform: translateY(-6px); box-shadow: var(--asvt-shadow-3); }
.img-box img { transition: transform .6s var(--asvt-ease); display: block; width: 100%; }
.img-box:hover img { transform: scale(1.05); }

.asvt-gallery-item i {
    background: rgba(255, 255, 255, .92);
    color: var(--asvt-primary-dark);
    border-radius: var(--asvt-radius-pill);
    width: 54px; height: 54px; line-height: 54px; text-align: center;
    box-shadow: var(--asvt-shadow-2);
}

/* ── Tlačidlá ────────────────────────────────────────────────── */
.btn, .circle-button, .btn.circle-button, button.btn {
    border-radius: var(--asvt-radius-pill) !important;
    transition: transform .2s var(--asvt-ease), box-shadow .28s var(--asvt-ease),
                background-color .22s var(--asvt-ease), border-color .22s var(--asvt-ease), color .22s var(--asvt-ease);
    letter-spacing: .02em;
}
.btn:hover, .circle-button:hover { transform: translateY(-2px); }
.btn:active, .circle-button:active { transform: translateY(0); }

.asvt-btn-primary,
.btn.asvt-btn-primary {
    background: var(--asvt-primary) !important;
    border-color: var(--asvt-primary) !important;
    color: #fff !important;
    box-shadow: var(--asvt-shadow-glow);
}
.asvt-btn-primary:hover { background: var(--asvt-primary-dark) !important; border-color: var(--asvt-primary-dark) !important; }
.asvt-btn-primary i { color: #fff !important; }

.asvt-btn-block { display: block; width: 100%; margin-bottom: 10px; text-align: center; }

html[data-theme="dark"] .btn-border {
    color: var(--asvt-text) !important;
    border-color: var(--asvt-border-strong) !important;
}
html[data-theme="dark"] .btn-border:hover {
    color: #fff !important;
    background: var(--asvt-primary) !important;
    border-color: var(--asvt-primary) !important;
}

/* ── Horná lišta ─────────────────────────────────────────────── */
.asvt-topbar {
    background: var(--asvt-bg-alt);
    border-bottom: 1px solid var(--asvt-border);
    font-size: 13px;
    position: relative;
    z-index: 1002;
}
.asvt-topbar-inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; height: var(--asvt-topbar-h);
}
.asvt-topbar-left, .asvt-topbar-right { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.asvt-topbar span, .asvt-topbar a { color: var(--asvt-text-soft); }
.asvt-topbar a:hover { color: var(--asvt-primary); }
.asvt-topbar i { color: var(--asvt-primary); margin-right: 5px; }

/* ── Hlavička a menu ─────────────────────────────────────────── */
.asvt-header .navbar-fixed-top {
    top: var(--asvt-topbar-h);
    background: var(--asvt-bg) !important;
    border-bottom: 1px solid var(--asvt-border);
    box-shadow: none;
    transition: background-color var(--asvt-dur) var(--asvt-ease), box-shadow var(--asvt-dur) var(--asvt-ease), top .3s var(--asvt-ease);
}
header.scroll-css .navbar-fixed-top,
.asvt-header.scroll-css .navbar-fixed-top {
    top: 0;
    box-shadow: var(--asvt-shadow-2);
}
.asvt-header .navbar-main .container { position: relative; }
.asvt-header .navbar-brand { padding: 12px 0; height: auto; display: flex; align-items: center; }
.asvt-brand img { height: 50px; width: auto; }

/* Logo prepínané témou. Šablóna skrýva `.logo-default` na retine, preto
   používame vlastné triedy a vyššiu špecificitu. */
html .asvt-logo-light, html .asvt-mobile-logo .asvt-logo-light { display: block !important; }
html .asvt-logo-dark, html .asvt-mobile-logo .asvt-logo-dark { display: none !important; }
html[data-theme="dark"] .asvt-logo-light,
html[data-theme="dark"] .asvt-mobile-logo .asvt-logo-light { display: none !important; }
html[data-theme="dark"] .asvt-logo-dark,
html[data-theme="dark"] .asvt-mobile-logo .asvt-logo-dark { display: block !important; }

.asvt-header .navbar-nav > li > a {
    color: var(--asvt-text) !important;
    font-weight: 500;
    font-size: 14px;
    padding: 26px 13px;
    border-radius: var(--asvt-radius-sm);
}
.asvt-header .navbar-nav > li:hover > a,
.asvt-header .navbar-nav > li.active > a { color: var(--asvt-primary) !important; }

.asvt-header .dropdown-menu {
    background: var(--asvt-bg-panel) !important;
    border: 1px solid var(--asvt-border) !important;
    border-radius: var(--asvt-radius) !important;
    box-shadow: var(--asvt-shadow-3) !important;
    padding: 10px !important;
    overflow: hidden;
    min-width: 250px;
}
.asvt-header .dropdown-menu > li > a {
    color: var(--asvt-text) !important;
    border-radius: var(--asvt-radius-sm) !important;
    padding: 10px 14px !important;
    font-size: 13.5px;
}
.asvt-header .dropdown-menu > li > a:hover {
    background: var(--asvt-bg-alt) !important;
    color: var(--asvt-primary) !important;
    padding-left: 18px !important;
}
.asvt-header .dropdown-menu > li > a i { width: 20px; color: var(--asvt-primary); }

/* ── Mega menu zo šablóny ──────────────────────────────────────── */
.asvt-header .mega-menu.dropdown-menu {
    background: var(--asvt-bg-panel) !important;
    border: 1px solid var(--asvt-border) !important;
    border-radius: var(--asvt-radius-lg) !important;
    box-shadow: var(--asvt-shadow-3) !important;
    padding: 24px 28px !important;
}
.asvt-header .mega-menu .nav-tabs {
    border-bottom: 1px solid var(--asvt-border);
    margin-bottom: 20px;
}
.asvt-header .mega-menu .nav-tabs > li > a {
    color: var(--asvt-text-soft) !important;
    border: 0 !important; background: transparent !important;
    border-radius: var(--asvt-radius-pill) !important;
    padding: 9px 18px !important; font-size: 13px; font-weight: 600;
}
.asvt-header .mega-menu .nav-tabs > li.active > a,
.asvt-header .mega-menu .nav-tabs > li > a:hover {
    color: #fff !important; background: var(--asvt-primary) !important;
}
.asvt-header .mega-menu .col {
    float: left; width: 25%; padding: 0 16px;
    border-left: 1px solid var(--asvt-border);
    min-height: 150px;
}
.asvt-header .mega-menu .col:first-child { border-left: 0; }
.asvt-header .mega-menu h5 {
    color: var(--asvt-primary) !important;
    font-size: 12px; text-transform: uppercase; letter-spacing: .07em;
    margin: 0 0 14px; font-weight: 700;
}
.asvt-header .mega-menu .fa-ul { margin-left: 24px; }
.asvt-header .mega-menu .fa-ul > li {
    margin-bottom: 10px; font-size: 13px; line-height: 1.5; color: var(--asvt-text-soft);
}
.asvt-header .mega-menu .fa-ul .fa-li { color: var(--asvt-primary); font-size: 12px; }
.asvt-header .mega-menu a { color: var(--asvt-text); }
.asvt-header .mega-menu a:hover { color: var(--asvt-primary); }
.asvt-header .mega-menu p { font-size: 13px; color: var(--asvt-text-soft); line-height: 1.6; margin-bottom: 14px; }
.asvt-header .mega-menu .panel {
    background: transparent !important; box-shadow: none !important;
    border: 0 !important; margin: 0; overflow: hidden;
}
.asvt-header .mega-menu .tab-box { overflow: hidden; }

/* Prepínače jazyka a témy */
.asvt-nav-tools { display: flex; align-items: center; }
.asvt-switchers { display: flex; align-items: center; gap: 6px; padding: 0 10px; }
.asvt-switch {
    width: 38px; height: 38px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: var(--asvt-radius-pill);
    border: 1px solid var(--asvt-border-strong);
    background: transparent;
    color: var(--asvt-text) !important;
    font-size: 13px; font-weight: 600;
    cursor: pointer; padding: 0;
    transition: all .22s var(--asvt-ease);
}
.asvt-switch:hover {
    background: var(--asvt-primary); border-color: var(--asvt-primary);
    color: #fff !important; transform: translateY(-2px);
    box-shadow: var(--asvt-shadow-glow);
}
.asvt-switch:hover i { color: #fff !important; }
.asvt-switch i { color: var(--asvt-text); font-size: 15px; }
.asvt-icon-light { display: none; }
html[data-theme="dark"] .asvt-icon-dark { display: none; }
html[data-theme="dark"] .asvt-icon-light { display: inline-block; }

.asvt-nav-cta { display: flex; align-items: center; padding-left: 6px; }
.asvt-btn-book {
    background: var(--asvt-primary) !important;
    border-color: var(--asvt-primary) !important;
    color: #fff !important;
    box-shadow: var(--asvt-shadow-glow);
    white-space: nowrap;
}
.asvt-btn-book:hover { background: var(--asvt-primary-dark) !important; }
.asvt-btn-book i { color: #fff !important; }

/* ── Mobilné / tabletové menu ────────────────────────────────── */
.asvt-mobile-menu {
    position: fixed; inset: 0; z-index: 3000;
    visibility: hidden; pointer-events: none;
}
.asvt-mobile-menu.is-open { visibility: visible; pointer-events: auto; }
.asvt-mobile-backdrop {
    position: absolute; inset: 0;
    background: rgba(10, 14, 24, .55);
    backdrop-filter: blur(4px);
    opacity: 0; transition: opacity .32s var(--asvt-ease);
}
.asvt-mobile-menu.is-open .asvt-mobile-backdrop { opacity: 1; }
.asvt-mobile-panel {
    position: absolute; top: 0; right: 0; bottom: 0;
    width: min(88vw, 400px);
    background: var(--asvt-bg-panel);
    box-shadow: var(--asvt-shadow-3);
    display: flex; flex-direction: column;
    transform: translateX(100%);
    transition: transform .38s var(--asvt-ease);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--asvt-radius-lg) 0 0 var(--asvt-radius-lg);
    padding-bottom: env(safe-area-inset-bottom);
}
.asvt-mobile-menu.is-open .asvt-mobile-panel { transform: translateX(0); }

.asvt-mobile-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px 22px; border-bottom: 1px solid var(--asvt-border);
    position: sticky; top: 0; background: var(--asvt-bg-panel); z-index: 2;
}
.asvt-mobile-logo img { height: 38px; }
.asvt-mobile-close {
    width: 42px; height: 42px; border-radius: var(--asvt-radius-pill);
    border: 1px solid var(--asvt-border-strong); background: transparent;
    color: var(--asvt-text); font-size: 18px;
    transition: all .22s var(--asvt-ease);
}
.asvt-mobile-close:hover { background: var(--asvt-primary); border-color: var(--asvt-primary); color: #fff; }

.asvt-mobile-nav { list-style: none; margin: 0; padding: 14px 12px; flex: 1; }
.asvt-mobile-nav > li { margin-bottom: 2px; }
.asvt-mobile-row { display: flex; align-items: stretch; }
.asvt-mobile-row > a {
    flex: 1; display: block; padding: 15px 16px;
    color: var(--asvt-text); font-size: 16px; font-weight: 500;
    border-radius: var(--asvt-radius-sm);
}
.asvt-mobile-nav > li.active > .asvt-mobile-row > a,
.asvt-mobile-row > a:hover { background: var(--asvt-bg-alt); color: var(--asvt-primary); }
.asvt-sub-toggle {
    width: 48px; border: 0; background: transparent; color: var(--asvt-text-soft);
    border-radius: var(--asvt-radius-sm); font-size: 18px;
    transition: transform .28s var(--asvt-ease), color .22s var(--asvt-ease);
}
.asvt-sub-toggle[aria-expanded="true"] { transform: rotate(180deg); color: var(--asvt-primary); }
.asvt-mobile-sub {
    list-style: none; margin: 0; padding: 0 0 0 14px;
    max-height: 0; overflow: hidden;
    transition: max-height .38s var(--asvt-ease);
}
.asvt-mobile-sub.is-open { max-height: 700px; }
.asvt-mobile-sub a {
    display: block; padding: 12px 16px; font-size: 14.5px;
    color: var(--asvt-text-soft); border-radius: var(--asvt-radius-sm);
    border-left: 2px solid var(--asvt-border);
}
.asvt-mobile-sub a:hover { color: var(--asvt-primary); border-left-color: var(--asvt-primary); background: var(--asvt-bg-alt); }
.asvt-mobile-sub a i { width: 20px; color: var(--asvt-primary); }

.asvt-mobile-foot { padding: 18px 22px 30px; border-top: 1px solid var(--asvt-border); }
.asvt-mobile-cta { display: block; text-align: center; margin-bottom: 16px; background: var(--asvt-primary) !important; border-color: var(--asvt-primary) !important; color: #fff !important; }
.asvt-mobile-cta i { color: #fff !important; }
.asvt-mobile-switchers { display: flex; gap: 8px; margin-bottom: 16px; }
.asvt-mobile-contact { font-size: 13.5px; margin: 0; }
.asvt-mobile-contact li { margin-bottom: 10px; color: var(--asvt-text-soft); }
.asvt-mobile-contact a { color: var(--asvt-text); font-weight: 600; }
.asvt-mobile-contact small { display: block; color: var(--asvt-text-soft); font-size: 12px; }

body.asvt-menu-open { overflow: hidden; }

/* ── Úvodná sekcia (predloha index-main) ─────────────────────── */
.asvt-main-hero {
    position: relative;
    background: linear-gradient(180deg, #f3f5f8 0%, #e8ebf0 45%, #dfe3ea 100%) !important;
    margin-top: calc(-1 * (var(--asvt-header-h) + var(--asvt-topbar-h)));
    padding-top: calc(var(--asvt-header-h) + var(--asvt-topbar-h) + 30px);
    padding-bottom: 10px;
    min-height: 100vh;
}
/* Carousel je prvý prvok — obsah sekcie nepotrebuje ďalší horný odstup */
.asvt-main-hero > .container.content { padding-top: 0 !important; }
.asvt-main-hero-overlay { display: none; }
.asvt-main-hero::before {
    content: '' !important; display: block !important;
    position: absolute; top: 0; right: 0; bottom: 0; left: 0;
    /* jemné svetlo od stredu hore, aby plocha nepôsobila ploche */
    background: radial-gradient(120% 80% at 50% 12%, rgba(255, 255, 255, .85) 0%, rgba(255, 255, 255, 0) 62%);
    z-index: 1;
}
html[data-theme="dark"] .asvt-main-hero {
    background: linear-gradient(180deg, #1a2130 0%, #151b27 45%, #10151f 100%) !important;
}
html[data-theme="dark"] .asvt-main-hero::before {
    background: radial-gradient(120% 80% at 50% 12%, rgba(255, 255, 255, .07) 0%, rgba(255, 255, 255, 0) 62%);
}
.asvt-main-hero > .container { position: relative; z-index: 2; }

.asvt-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: transparent;
    border: 1px solid rgba(255, 205, 0, .55);
    padding: 8px 18px; border-radius: var(--asvt-radius-pill);
    font-size: 13px; font-weight: 600; letter-spacing: .03em;
    margin-bottom: 22px;
}
.asvt-badge, .asvt-badge i, .asvt-badge span { color: var(--asvt-accent) !important; }

.asvt-main-hero-title {
    color: #fff !important;
    font-size: 44px; line-height: 1.18; font-weight: 700;
    margin: 0 0 20px;
    text-shadow: 0 2px 26px rgba(0, 0, 0, .40);
}
.asvt-main-hero-sub {
    color: rgba(255, 255, 255, .86) !important;
    font-size: 17px; line-height: 1.72;
    max-width: 760px; margin: 0 auto;
}
.asvt-hero-trust {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-wrap: wrap; gap: 10px 28px; justify-content: center;
}
.asvt-hero-trust li { color: rgba(255, 255, 255, .88); font-size: 14px; }
.asvt-hero-trust i { color: var(--asvt-accent); margin-right: 7px; }

.asvt-btn-ghost {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .55) !important;
    background: rgba(255, 255, 255, .07) !important;
    backdrop-filter: blur(6px);
}
.asvt-btn-ghost:hover { background: #fff !important; color: var(--asvt-primary-dark) !important; border-color: #fff !important; }
.asvt-btn-ghost i { color: inherit !important; }

/* Nadpisy sekcií na tmavom podklade */
.asvt-main-hero .asvt-section-title,
.asvt-second-section .asvt-section-title,
.asvt-third-section .asvt-section-title,
.asvt-main-hero .asvt-process-title,
.asvt-second-section .asvt-process-title,
.asvt-third-section .asvt-process-title { color: #fff !important; }
.asvt-main-hero .asvt-section-lead,
.asvt-second-section .asvt-section-lead,
.asvt-third-section .asvt-section-lead {
    color: rgba(255, 255, 255, .72) !important;
    max-width: 760px; margin: 10px auto 0; font-size: 15.5px; line-height: 1.7;
}
.asvt-process-title { font-size: 26px; }

/* Sekcie 2 a 3 s obrázkom na pozadí */
.asvt-second-section, .asvt-third-section { position: relative; background-size: cover; background-position: center; }
.asvt-second-section::after, .asvt-third-section::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(6, 11, 22, .58), rgba(6, 11, 22, .50));
    z-index: 0;
}
html[data-theme="dark"] .asvt-second-section::after,
html[data-theme="dark"] .asvt-third-section::after {
    background: linear-gradient(180deg, rgba(3, 6, 12, .66), rgba(3, 6, 12, .58));
}
.asvt-second-section > .container, .asvt-third-section > .container { position: relative; z-index: 2; }
.asvt-second-section::before, .asvt-third-section::before { display: none !important; }
.asvt-second-section h1, .asvt-third-section h1,
.asvt-second-section h4:not(.asvt-numbers-box h4), .asvt-third-section > .container > h4 { color: #fff !important; }
.asvt-third-section .col-md-4 > p { color: rgba(255, 255, 255, .76) !important; }

/* Karty v carouseli služieb */
.asvt-slide-card { padding: 0 !important; overflow: hidden; height: 100%; }
.asvt-slide-card .img-box { border-radius: var(--asvt-radius) var(--asvt-radius) 0 0 !important; box-shadow: none; margin: 0; }
.asvt-slide-card .img-box img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.asvt-slide-card .advs-box-content { padding: 24px 26px 28px !important; }
.asvt-slide-card h3 { font-size: 17px; margin-bottom: 10px; }
.asvt-slide-card p { font-size: 13.5px; color: var(--asvt-text-soft); line-height: 1.65; }
.asvt-service-slider .slides > li { padding-bottom: 4px; }

/* Ikonové boxy „prečo my" */
.asvt-icon-grid { display: flex; flex-wrap: wrap; }
.asvt-icon-col { margin-bottom: 24px; display: flex; }
.asvt-icon-col > .icon-box { width: 100%; }
.asvt-icon-box {
    background: var(--asvt-bg-panel);
    border: 1px solid var(--asvt-border);
    padding: 26px 28px;
    height: 100%;
    box-shadow: var(--asvt-shadow-2);
    transition: transform var(--asvt-dur) var(--asvt-ease), box-shadow var(--asvt-dur) var(--asvt-ease);
}
.asvt-icon-box:hover { transform: translateY(-5px); box-shadow: var(--asvt-shadow-3); }
.asvt-icon-box .icon-box-cell:first-child { padding-right: 18px; vertical-align: top; }
html .asvt-icon-box i { color: var(--asvt-primary-ink) !important; }
.asvt-icon-box label { color: var(--asvt-text) !important; margin-bottom: 6px; display: block; }
.asvt-icon-box p { color: var(--asvt-text-soft) !important; font-size: 13.5px; line-height: 1.65; margin: 0; }

.asvt-intro-row h1 { color: #fff !important; font-size: 30px; line-height: 1.25; margin-bottom: 14px; }
.asvt-intro-row > div > p { color: rgba(255, 255, 255, .76) !important; }
.asvt-check-list li { margin-bottom: 9px; font-size: 14px; line-height: 1.6; }
.asvt-intro-row .asvt-check-list li { color: rgba(255, 255, 255, .86) !important; }
.asvt-intro-row .asvt-check-list .fa-li { color: var(--asvt-accent) !important; }
.asvt-round-img { width: 100%; border-radius: var(--asvt-radius); display: block; }
.asvt-caption-slider .img-box { border-radius: var(--asvt-radius) !important; display: block; }
.asvt-caption-slider img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.asvt-slide-caption {
    margin-top: 16px; padding: 0 4px;
    color: rgba(255, 255, 255, .78); font-size: 13.5px; line-height: 1.65;
}
.asvt-slide-caption strong { display: block; color: #fff; font-size: 15px; margin-bottom: 4px; }
.asvt-caption-slider .flex-control-paging { bottom: -46px; }

/* Nadpisy sekcií na tmavom podklade musia prebiť triedy šablóny */
html .asvt-main-hero h1.asvt-section-title,
html .asvt-second-section h1.asvt-section-title,
html .asvt-third-section h1.asvt-section-title { color: #fff !important; font-size: 32px; }

.asvt-numbers-box { padding: 32px 34px !important; }
.asvt-numbers-box .counter-box-simple span { color: var(--asvt-primary) !important; }
.asvt-numbers-box .asvt-check-list li { color: var(--asvt-text) !important; }
.asvt-numbers-box .asvt-check-list .fa-li { color: var(--asvt-primary) !important; }

.asvt-gallery-slider .img-box img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.asvt-third-section .asvt-insurer {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .14);
    color: #fff;
}
.asvt-third-section .asvt-insurer span { color: #fff; }
.asvt-third-section .asvt-insurer i { color: var(--asvt-accent); }
.asvt-third-section .asvt-insurer:hover { background: rgba(255, 255, 255, .12); border-color: var(--asvt-accent); }

/* ── Štatistiky ──────────────────────────────────────────────── */
.asvt-stats { padding: 56px 0 40px; }
.asvt-stat { text-align: center; padding: 16px 10px; }
.asvt-stat .counter-box-simple span { color: var(--asvt-primary) !important; font-weight: 700; }
.asvt-stat p { color: var(--asvt-text-soft); font-size: 14px; margin: 6px 0 0; }
.asvt-stat-box { text-align: center; padding: 30px 18px !important; }
.asvt-stat-box p { color: var(--asvt-text-soft); font-size: 13.5px; margin-top: 8px; }

/* ── Služby ──────────────────────────────────────────────────── */
.asvt-service-card { text-align: center; padding: 34px 26px !important; height: 100%; }
.asvt-service-card i.icon.circle {
    background: var(--asvt-primary) !important; color: #fff !important;
    width: 76px; height: 76px; line-height: 76px;
    box-shadow: var(--asvt-shadow-glow);
    transition: transform .35s var(--asvt-ease);
}
.asvt-service-card:hover i.icon.circle { transform: scale(1.08) rotate(-6deg); }
.asvt-service-card h3 { margin: 18px 0 10px; }
.asvt-service-card p { color: var(--asvt-text-soft); font-size: 14px; line-height: 1.65; }
.asvt-service-meta {
    display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: center;
    margin: 16px 0 12px; font-size: 12.5px; color: var(--asvt-text-soft);
}
.asvt-service-meta i { color: var(--asvt-primary); margin-right: 5px; }
.asvt-price { color: var(--asvt-primary) !important; font-weight: 700; }
.asvt-service-grid > div { margin-bottom: 30px; display: flex; }
.asvt-service-grid .advs-box { width: 100%; }

.asvt-service-row { padding: 26px 0; }
.asvt-service-body { padding: 10px 0; }
.asvt-service-icon {
    width: 60px; height: 60px; border-radius: var(--asvt-radius);
    background: var(--asvt-primary); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; margin-bottom: 18px;
    box-shadow: var(--asvt-shadow-glow);
}
.asvt-service-sep { border-color: var(--asvt-border) !important; }
.asvt-bullets li { margin-bottom: 10px; line-height: 1.6; }
.asvt-bullets .fa-li { color: var(--asvt-primary); }
.asvt-bullets-box { padding: 28px 30px !important; }
.asvt-service-meta { justify-content: flex-start; }

/* ── Prečo my ────────────────────────────────────────────────── */
.asvt-why { position: relative; }
.asvt-why::before { content: ''; position: absolute; inset: 0; background: rgba(10, 16, 30, .82); }
.asvt-why > .container { position: relative; z-index: 2; }
.asvt-why .title-base h2, .asvt-why .title-base p { color: #fff !important; }
.asvt-why-box {
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: var(--asvt-radius);
    padding: 26px !important;
    margin-bottom: 24px;
    backdrop-filter: blur(10px);
    transition: transform var(--asvt-dur) var(--asvt-ease), background-color var(--asvt-dur) var(--asvt-ease);
}
.asvt-why-box:hover { transform: translateY(-5px); background: rgba(255, 255, 255, .12); }
.asvt-why-box h3, .asvt-why-box p { color: #fff !important; }
.asvt-why-box p { opacity: .82; font-size: 14px; }
.asvt-why-box .icon-box i { color: var(--asvt-accent) !important; font-size: 30px; }

/* ── Proces ──────────────────────────────────────────────────── */
.asvt-steps { display: flex; flex-wrap: wrap; }
.col-md-custom-5 { width: 20%; float: left; padding: 0 15px; position: relative; }
.asvt-step { text-align: center; padding: 26px 14px; position: relative; }
.asvt-step::after {
    content: ''; position: absolute; top: 52px; right: -18px;
    width: 36px; height: 2px;
    background: repeating-linear-gradient(90deg, var(--asvt-border-strong) 0 6px, transparent 6px 12px);
}
.asvt-step:last-child::after { display: none; }
.asvt-step-num {
    width: 30px; height: 30px; border-radius: var(--asvt-radius-pill);
    background: var(--asvt-accent); color: #1b2436;
    font-weight: 700; font-size: 14px; line-height: 30px;
    margin: 0 auto 12px;
}
.asvt-step > i {
    display: block; font-size: 30px; color: var(--asvt-primary); margin-bottom: 14px;
    transition: transform .35s var(--asvt-ease);
}
.asvt-step:hover > i { transform: translateY(-5px) scale(1.1); }
.asvt-step h4 { font-size: 15px; margin-bottom: 8px; }
.asvt-step p { font-size: 13px; color: var(--asvt-text-soft); line-height: 1.6; }

/* ── Kalkulačka ──────────────────────────────────────────────── */
.asvt-calc-section { padding-bottom: 30px; }
.asvt-calc { padding: 0 !important; overflow: hidden; }
.asvt-calc-steps {
    display: flex; border-bottom: 1px solid var(--asvt-border);
    background: var(--asvt-bg-alt); overflow-x: auto; -webkit-overflow-scrolling: touch;
}
.asvt-calc-step {
    flex: 1 1 0; min-width: 120px;
    border: 0; background: transparent; padding: 16px 12px;
    font-size: 12.5px; font-weight: 600; color: var(--asvt-text-soft);
    display: flex; align-items: center; justify-content: center; gap: 8px;
    border-bottom: 3px solid transparent;
    transition: all .25s var(--asvt-ease); white-space: nowrap;
}
.asvt-calc-step span {
    width: 24px; height: 24px; border-radius: var(--asvt-radius-pill);
    background: var(--asvt-border); color: var(--asvt-text-soft);
    font-size: 12px; line-height: 24px; text-align: center; flex: 0 0 24px;
    transition: all .25s var(--asvt-ease);
}
.asvt-calc-step.is-active { color: var(--asvt-primary); border-bottom-color: var(--asvt-primary); background: var(--asvt-bg-panel); }
.asvt-calc-step.is-active span { background: var(--asvt-primary); color: #fff; }
.asvt-calc-step.is-done span { background: var(--asvt-accent); color: #1b2436; }

.asvt-calc-body { padding: 30px 30px 26px; }
.asvt-calc-panel { display: none; animation: asvtFadeUp .35s var(--asvt-ease); }
.asvt-calc-panel.is-active { display: block; }
@keyframes asvtFadeUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.asvt-calc-panel h4 { margin-bottom: 18px; }
.asvt-calc-panel label { font-size: 13px; font-weight: 600; color: var(--asvt-text-soft); margin-bottom: 6px; display: block; }

.asvt-calc-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 22px; }
.asvt-calc-tile { margin: 0; cursor: pointer; }
.asvt-calc-tile input { position: absolute; opacity: 0; pointer-events: none; }
.asvt-calc-tile-inner {
    display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: 20px 12px; border-radius: var(--asvt-radius);
    border: 2px solid var(--asvt-border); background: var(--asvt-bg-alt);
    text-align: center; transition: all .25s var(--asvt-ease); height: 100%;
}
.asvt-calc-tile-inner i { font-size: 24px; color: var(--asvt-primary); }
.asvt-calc-tile-inner strong { font-size: 13px; line-height: 1.4; color: var(--asvt-text); font-weight: 600; }
.asvt-calc-tile:hover .asvt-calc-tile-inner { border-color: var(--asvt-primary); transform: translateY(-3px); box-shadow: var(--asvt-shadow-1); }
.asvt-calc-tile input:checked + .asvt-calc-tile-inner {
    border-color: var(--asvt-primary); background: rgba(85, 132, 255, .10);
    box-shadow: var(--asvt-shadow-glow);
}
.asvt-calc-damage { margin-top: 6px; }
.asvt-calc-checks { display: grid; gap: 12px; margin-bottom: 22px; }
.asvt-check-highlight span { font-weight: 600; }
.asvt-calc-nav { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; margin-top: 24px; }
.asvt-calc-nav .btn { min-width: 120px; }
.asvt-calc-usp li { margin-bottom: 10px; color: var(--asvt-text-soft); font-size: 14px; }
.asvt-calc-usp .fa-li { color: var(--asvt-primary); }
.asvt-calc-illustration { width: 100%; border-radius: var(--asvt-radius); box-shadow: var(--asvt-shadow-2); }
.asvt-calc-loading { text-align: center; padding: 40px 0; color: var(--asvt-text-soft); }

.asvt-calc-total {
    text-align: center; padding: 26px; border-radius: var(--asvt-radius);
    background: linear-gradient(135deg, var(--asvt-primary), var(--asvt-primary-dark));
    color: #fff; box-shadow: var(--asvt-shadow-glow); margin-bottom: 20px;
}
.asvt-calc-total .asvt-calc-amount { font-size: 40px; font-weight: 700; line-height: 1.1; }
.asvt-calc-total small { display: block; opacity: .85; font-size: 13px; margin-top: 6px; }
.asvt-calc-advice {
    padding: 16px 18px; border-radius: var(--asvt-radius-sm);
    background: rgba(255, 205, 0, .14); border: 1px solid rgba(255, 205, 0, .4);
    margin-bottom: 18px; font-size: 14px; line-height: 1.6;
}
.asvt-calc-advice i { color: var(--asvt-accent-dark); margin-right: 8px; }
.asvt-calc-items { list-style: none; padding: 0; margin: 0 0 18px; }
.asvt-calc-items li {
    display: flex; justify-content: space-between; gap: 16px;
    padding: 11px 0; border-bottom: 1px dashed var(--asvt-border); font-size: 14px;
}
.asvt-calc-items li span:last-child { font-weight: 600; white-space: nowrap; color: var(--asvt-text); }
.asvt-calc-notes { list-style: none; padding: 0; margin: 0; }
.asvt-calc-notes li { font-size: 13px; color: var(--asvt-text-soft); line-height: 1.6; margin-bottom: 8px; padding-left: 22px; position: relative; }
.asvt-calc-notes li::before { content: '\f05a'; font-family: FontAwesome; position: absolute; left: 0; color: var(--asvt-primary); }
.asvt-calc-duration { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--asvt-text-soft); margin-bottom: 18px; }
.asvt-calc-duration i { color: var(--asvt-primary); }

/* ── Formuláre ───────────────────────────────────────────────── */
.asvt-form label { font-size: 13px; font-weight: 600; color: var(--asvt-text-soft); margin-bottom: 6px; display: block; }
.asvt-req { color: #e05252; }
.asvt-field { margin-bottom: 18px; }
.asvt-hint { display: block; font-size: 12px; color: var(--asvt-text-soft); margin-top: 5px; }

.form-control,
.asvt-form .form-control {
    background: var(--asvt-bg-alt) !important;
    border: 1px solid var(--asvt-border) !important;
    border-radius: var(--asvt-radius-sm) !important;
    color: var(--asvt-text) !important;
    height: auto; padding: 12px 15px; font-size: 14.5px;
    box-shadow: none !important;
    transition: border-color .22s var(--asvt-ease), box-shadow .22s var(--asvt-ease), background-color .22s var(--asvt-ease);
    width: 100%;
}
.form-control:focus {
    border-color: var(--asvt-primary) !important;
    box-shadow: 0 0 0 4px rgba(85, 132, 255, .14) !important;
    background: var(--asvt-bg-panel) !important;
}
.form-control::placeholder { color: var(--asvt-text-soft); opacity: .7; }
textarea.form-control { min-height: 120px; resize: vertical; }

.asvt-select { position: relative; }
.asvt-select select { appearance: none; -webkit-appearance: none; padding-right: 40px; cursor: pointer; }
.asvt-select > i {
    position: absolute; right: 15px; top: 50%; transform: translateY(-50%);
    pointer-events: none; color: var(--asvt-text-soft);
}
html[data-theme="dark"] .asvt-select select option { background: var(--asvt-bg-panel); color: var(--asvt-text); }

.asvt-check { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-weight: 400 !important; }
.asvt-check input { margin: 3px 0 0; flex: 0 0 auto; width: 17px; height: 17px; accent-color: var(--asvt-primary); }
.asvt-check span { font-size: 13.5px; color: var(--asvt-text); line-height: 1.55; }
.asvt-check span i { color: var(--asvt-primary); margin-right: 6px; }
.asvt-check-disabled { opacity: .65; cursor: default; }
.asvt-consent { margin-top: 4px; }
.asvt-consent a { text-decoration: underline; }

/* Pasca na roboty — mimo obrazovky, nikdy nie display:none (roboty to vedia obísť) */
.asvt-hp {
    position: absolute !important;
    left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden;
}

.asvt-challenge-row { display: flex; align-items: center; gap: 12px; }
.asvt-challenge-q {
    flex: 1; font-size: 13px; color: var(--asvt-text);
    background: var(--asvt-bg-alt); border: 1px dashed var(--asvt-border-strong);
    padding: 11px 14px; border-radius: var(--asvt-radius-sm); line-height: 1.35;
}
.asvt-challenge-row input { max-width: 96px; text-align: center; font-weight: 700; }

.asvt-form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 6px; }
.asvt-submit { min-width: 190px; }
.asvt-submit i { color: #fff !important; }
.asvt-form-note { font-size: 12.5px; color: var(--asvt-text-soft); flex: 1 1 200px; }
.asvt-form-result { margin-top: 18px; }
.asvt-form-result .alert { border-radius: var(--asvt-radius-sm); border: 0; display: none; }
.asvt-form-result.is-success .asvt-alert-success { display: block; }
.asvt-form-result.is-error .asvt-alert-error { display: block; }
.asvt-form-compact .asvt-field { margin-bottom: 12px; }
.asvt-form-compact .asvt-submit { min-width: 0; width: 100%; }
.asvt-form.is-busy { opacity: .65; pointer-events: none; }

/* ── Rezervačný panel ────────────────────────────────────────── */
.asvt-slotpicker { padding: 28px 30px !important; }
.asvt-day-strip {
    display: flex; gap: 10px; overflow-x: auto; padding: 4px 2px 14px;
    -webkit-overflow-scrolling: touch; scrollbar-width: thin;
}
.asvt-day {
    flex: 0 0 auto; width: 92px; padding: 12px 8px;
    border-radius: var(--asvt-radius); border: 2px solid var(--asvt-border);
    background: var(--asvt-bg-alt); text-align: center; cursor: pointer;
    transition: all .25s var(--asvt-ease);
}
.asvt-day:hover:not(:disabled) { border-color: var(--asvt-primary); transform: translateY(-3px); box-shadow: var(--asvt-shadow-1); }
.asvt-day.is-active { border-color: var(--asvt-primary); background: rgba(85, 132, 255, .10); box-shadow: var(--asvt-shadow-glow); }
.asvt-day:disabled, .asvt-day.is-full { opacity: .4; cursor: not-allowed; }
.asvt-day-dow { display: block; font-size: 11px; text-transform: uppercase; color: var(--asvt-text-soft); letter-spacing: .06em; }
.asvt-day-num { display: block; font-size: 22px; font-weight: 700; color: var(--asvt-text); line-height: 1.2; }
.asvt-day-mon { display: block; font-size: 11px; color: var(--asvt-text-soft); }
.asvt-day-free { display: block; font-size: 10.5px; color: var(--asvt-primary); margin-top: 4px; }

.asvt-time-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 10px; }
.asvt-time {
    padding: 12px 6px; border-radius: var(--asvt-radius-sm);
    border: 2px solid var(--asvt-border); background: var(--asvt-bg-alt);
    font-weight: 600; font-size: 14px; color: var(--asvt-text);
    transition: all .22s var(--asvt-ease);
}
.asvt-time:hover:not(:disabled) { border-color: var(--asvt-primary); color: var(--asvt-primary); transform: translateY(-2px); }
.asvt-time.is-active { background: var(--asvt-primary); border-color: var(--asvt-primary); color: #fff; box-shadow: var(--asvt-shadow-glow); }
.asvt-time:disabled, .asvt-time.is-full { opacity: .35; cursor: not-allowed; text-decoration: line-through; }
.asvt-slot-summary { margin: 16px 0 0; font-size: 14px; color: var(--asvt-primary); font-weight: 600; }
.asvt-steps-list { padding-left: 20px; }
.asvt-steps-list li { margin-bottom: 10px; font-size: 13.5px; color: var(--asvt-text-soft); line-height: 1.6; }

/* ── Bočné panely ────────────────────────────────────────────── */
.asvt-sidebar .boxed-inverse { padding: 26px 28px !important; }
.asvt-sidebar h4 { font-size: 16px; margin-bottom: 14px; }
.asvt-sidebar-links, .asvt-sidebar-prices, .asvt-sidebar-posts { list-style: none; padding: 0; margin: 0; }
.asvt-sidebar-links li { border-bottom: 1px solid var(--asvt-border); }
.asvt-sidebar-links li:last-child { border-bottom: 0; }
.asvt-sidebar-links a { display: block; padding: 11px 0; font-size: 13.5px; color: var(--asvt-text); }
.asvt-sidebar-links a:hover { color: var(--asvt-primary); padding-left: 6px; }
.asvt-sidebar-links i { width: 22px; color: var(--asvt-primary); }
.asvt-sidebar-prices li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--asvt-border); font-size: 13px; }
.asvt-sidebar-prices strong { color: var(--asvt-primary); white-space: nowrap; }
.asvt-sidebar-contact li { margin-bottom: 11px; font-size: 13.5px; color: var(--asvt-text-soft); }
.asvt-sidebar-contact a { color: var(--asvt-text); font-weight: 600; }
.asvt-sidebar-contact a:hover { color: var(--asvt-primary); }
.asvt-sidebar-contact small { display: block; font-size: 12px; }
.asvt-sidebar-posts li { margin-bottom: 14px; }
.asvt-sidebar-posts a { display: flex; gap: 12px; align-items: center; }
.asvt-sidebar-posts img { width: 68px; height: 52px; object-fit: cover; border-radius: var(--asvt-radius-sm); flex: 0 0 68px; box-shadow: var(--asvt-shadow-1); }
.asvt-sidebar-posts span { font-size: 13px; line-height: 1.45; color: var(--asvt-text); }
.asvt-sidebar-posts a:hover span { color: var(--asvt-primary); }
.asvt-sidebar-cta { border-top: 3px solid var(--asvt-primary) !important; }

/* ── Články ──────────────────────────────────────────────────── */
.asvt-article p { line-height: 1.78; margin-bottom: 18px; color: var(--asvt-text); }
.asvt-article h3 { margin: 34px 0 14px; font-size: 21px; }
.asvt-article-meta { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-bottom: 22px; font-size: 13px; color: var(--asvt-text-soft); }
.asvt-article-meta i { color: var(--asvt-primary); margin-right: 6px; }
.asvt-article-hero { display: block; margin-bottom: 6px; }
.asvt-article-hero img { width: 100%; }
.asvt-legal h3 { font-size: 19px; }
.asvt-tags span { font-size: 12px; }
.asvt-post-cta { padding: 26px 30px !important; border-left: 4px solid var(--asvt-primary) !important; }
.asvt-post-card { height: 100%; }
.asvt-post-card .advs-box-content { padding: 24px !important; }
.asvt-post-card h2 a { color: var(--asvt-text); }
.asvt-post-card h2 a:hover { color: var(--asvt-primary); }
.asvt-post-card p { color: var(--asvt-text-soft); font-size: 14px; }

/* ── Tím ─────────────────────────────────────────────────────── */
.asvt-team-grid > div { margin-bottom: 30px; }
.asvt-team-card { padding: 0 !important; overflow: hidden; height: 100%; }
.asvt-team-photo { display: block; border-radius: var(--asvt-radius) var(--asvt-radius) 0 0 !important; margin: 0; box-shadow: none; }
.asvt-team-photo img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.asvt-team-card .content-box { padding: 26px 26px 30px; }
.asvt-team-card h2 { font-size: 19px; margin-bottom: 4px; }
.asvt-team-card h4 { font-size: 13px; color: var(--asvt-primary) !important; font-weight: 600; letter-spacing: .02em; }
.asvt-team-card p { font-size: 13.5px; color: var(--asvt-text-soft); line-height: 1.66; }
.asvt-team-card hr.e { border-color: var(--asvt-border); margin: 14px auto; width: 40px; border-top-width: 2px; }
.asvt-team-contacts li { margin-bottom: 12px; }
.asvt-team-contacts a { font-weight: 700; font-size: 16px; color: var(--asvt-text); }
.asvt-team-contacts a:hover { color: var(--asvt-primary); }
.asvt-team-contacts small { display: block; font-size: 12px; color: var(--asvt-text-soft); }

/* ── Galéria ─────────────────────────────────────────────────── */
.asvt-gallery-card { padding: 0 !important; overflow: hidden; }
.asvt-gallery-card .img-box { border-radius: var(--asvt-radius) var(--asvt-radius) 0 0 !important; box-shadow: none; margin: 0; }
.asvt-gallery-card .img-box img { aspect-ratio: 16 / 10; object-fit: cover; }
.asvt-gallery-card .advs-box-content { padding: 22px 24px 26px !important; }
.asvt-gallery-card h3 { font-size: 16px; margin-bottom: 8px; }
.asvt-gallery-card p { font-size: 13px; color: var(--asvt-text-soft); line-height: 1.6; }
.asvt-gallery-vehicle { display: inline-block; font-size: 11.5px; color: var(--asvt-primary); margin-bottom: 8px; font-weight: 600; }
.asvt-gallery-vehicle i { margin-right: 5px; }
.maso-filters > li > a { border-radius: var(--asvt-radius-pill) !important; cursor: pointer; }
.asvt-gallery .navbar-inner { background: transparent !important; border: 0 !important; margin-bottom: 22px; }

/* ── Poisťovne a štítky ──────────────────────────────────────── */
.asvt-insurer-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.asvt-insurer {
    display: flex; align-items: center; gap: 12px;
    padding: 16px 20px; border-radius: var(--asvt-radius);
    background: var(--asvt-bg-alt); border: 1px solid var(--asvt-border);
    font-size: 13.5px; font-weight: 500; color: var(--asvt-text);
    transition: all .25s var(--asvt-ease);
}
.asvt-insurer:hover { transform: translateY(-3px); box-shadow: var(--asvt-shadow-1); border-color: var(--asvt-primary); }
.asvt-insurer i { color: var(--asvt-primary); font-size: 17px; }

.asvt-chips { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 14px; }
.asvt-chip {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 8px 15px; border-radius: var(--asvt-radius-pill);
    background: var(--asvt-bg-alt); border: 1px solid var(--asvt-border);
    font-size: 12.5px; color: var(--asvt-text);
    transition: all .22s var(--asvt-ease);
}
.asvt-chip:hover { border-color: var(--asvt-primary); color: var(--asvt-primary); transform: translateY(-2px); }
.asvt-chip i { color: var(--asvt-primary); font-size: 12px; }

/* ── Recenzie ────────────────────────────────────────────────── */
.asvt-review { padding: 28px 30px !important; height: 100%; margin-bottom: 24px; }
.asvt-review-stars { color: var(--asvt-accent); margin-bottom: 14px; font-size: 14px; letter-spacing: 2px; }
.asvt-review-text { font-size: 14.5px; line-height: 1.72; color: var(--asvt-text); font-style: italic; }
.asvt-review-author { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--asvt-border); }
.asvt-review-author strong { display: block; font-size: 14px; color: var(--asvt-text); }
.asvt-review-author small { color: var(--asvt-text-soft); font-size: 12.5px; }
.asvt-review-slider .slides > li { padding: 4px; }

/* ── Cenník ──────────────────────────────────────────────────── */
.asvt-price-group { margin-bottom: 14px; }
.asvt-price-group-title {
    font-size: 20px; margin-bottom: 18px; display: flex; align-items: center; gap: 12px;
}
.asvt-price-group-title i {
    width: 44px; height: 44px; border-radius: var(--asvt-radius-sm);
    background: var(--asvt-primary); color: #fff;
    display: inline-flex; align-items: center; justify-content: center; font-size: 18px;
    box-shadow: var(--asvt-shadow-glow);
}
.asvt-price-table {
    border-radius: var(--asvt-radius); overflow: hidden;
    border: 1px solid var(--asvt-border); background: var(--asvt-bg-panel);
    box-shadow: var(--asvt-shadow-1);
}
.asvt-price-row {
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    padding: 17px 24px; border-bottom: 1px solid var(--asvt-border);
    transition: background-color .22s var(--asvt-ease);
}
.asvt-price-row:last-child { border-bottom: 0; }
.asvt-price-row:hover { background: var(--asvt-bg-alt); }
.asvt-price-label strong { display: block; font-size: 14.5px; color: var(--asvt-text); margin-bottom: 3px; }
.asvt-price-label small { font-size: 12.5px; color: var(--asvt-text-soft); line-height: 1.5; }
.asvt-price-value { white-space: nowrap; font-size: 17px; font-weight: 700; color: var(--asvt-primary); }
.asvt-price-free { color: #35b07a !important; }
.asvt-price-note { padding: 26px 30px !important; height: 100%; }

/* ── FAQ / accordion ─────────────────────────────────────────── */
.asvt-accordion .list-group-item {
    background: var(--asvt-bg-panel) !important;
    border: 1px solid var(--asvt-border) !important;
    border-radius: var(--asvt-radius) !important;
    margin-bottom: 12px; overflow: hidden;
    box-shadow: var(--asvt-shadow-1);
    transition: box-shadow .28s var(--asvt-ease), border-color .28s var(--asvt-ease);
}
.asvt-accordion .list-group-item:hover { box-shadow: var(--asvt-shadow-2); }
.asvt-accordion .list-group-item.active-panel { border-color: var(--asvt-primary) !important; }
.asvt-accordion .list-group-item > a {
    display: block; padding: 18px 52px 18px 24px !important;
    font-size: 15px; font-weight: 600; color: var(--asvt-text) !important;
    cursor: pointer; position: relative; line-height: 1.5;
}
.asvt-accordion .list-group-item > a::after {
    content: '\f107'; font-family: FontAwesome;
    position: absolute; right: 22px; top: 50%; transform: translateY(-50%);
    color: var(--asvt-primary); font-size: 18px; transition: transform .3s var(--asvt-ease);
}
.asvt-accordion .list-group-item > a.active::after { transform: translateY(-50%) rotate(180deg); }
.asvt-accordion .list-group-item > a.active { color: var(--asvt-primary) !important; }
.asvt-accordion .panel { background: transparent !important; box-shadow: none !important; border: 0 !important; margin: 0; }
.asvt-accordion .panel .inner {
    padding: 0 24px 22px; font-size: 14px; line-height: 1.75; color: var(--asvt-text-soft);
}
.asvt-accordion .list-group-item::before { display: none !important; }
.asvt-faq-cat { font-size: 19px; margin: 0 0 16px; color: var(--asvt-primary); }
.asvt-faq-help { padding: 26px 28px !important; }

/* ── Timeline ────────────────────────────────────────────────── */
.asvt-timeline .timeline-panel {
    background: var(--asvt-bg-panel) !important;
    border: 1px solid var(--asvt-border) !important;
    border-radius: var(--asvt-radius) !important;
    box-shadow: var(--asvt-shadow-1);
    padding: 22px 26px;
    transition: transform .3s var(--asvt-ease), box-shadow .3s var(--asvt-ease);
}
.asvt-timeline li:hover .timeline-panel { transform: translateY(-4px); box-shadow: var(--asvt-shadow-2); }
.asvt-timeline .timeline-title { font-size: 17px; margin-bottom: 8px; }
.asvt-timeline .timeline-body p { font-size: 13.5px; color: var(--asvt-text-soft); line-height: 1.7; margin: 0; }
.asvt-timeline .timeline-label h4 { color: var(--asvt-primary) !important; font-size: 22px; font-weight: 700; }
.asvt-timeline .timeline-badge { background: var(--asvt-accent) !important; border-color: var(--asvt-primary) !important; }

/* ── Kontakt / mapa ──────────────────────────────────────────── */
.asvt-contact-cards > div { margin-bottom: 26px; display: flex; }
.asvt-contact-cards .advs-box { width: 100%; text-align: center; padding: 32px 26px !important; }
.asvt-contact-cards i.icon.circle { background: var(--asvt-primary) !important; color: #fff !important; box-shadow: var(--asvt-shadow-glow); }
.asvt-contact-phones { list-style: none; padding: 0; margin: 12px 0 0; }
.asvt-contact-phones li { margin-bottom: 10px; }
.asvt-contact-phones a { font-size: 17px; font-weight: 700; color: var(--asvt-text); }
.asvt-contact-phones a:hover { color: var(--asvt-primary); }
.asvt-contact-phones small { display: block; font-size: 12px; color: var(--asvt-text-soft); }

.asvt-map {
    position: relative; border-radius: var(--asvt-radius-lg); overflow: hidden;
    min-height: 420px; background: var(--asvt-bg-alt);
    display: flex; align-items: center; justify-content: center;
}
.asvt-map-static { width: 100%; height: 100%; min-height: 420px; object-fit: cover; display: block; filter: saturate(.92); }
html[data-theme="dark"] .asvt-map-static { filter: saturate(.75) brightness(.78) contrast(1.05); }
.asvt-map iframe { width: 100%; height: 100%; min-height: 420px; border: 0; display: block; }
.asvt-map-pin {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -100%);
    color: var(--asvt-primary); font-size: 42px; pointer-events: none;
    text-shadow: 0 6px 18px rgba(0, 0, 0, .35);
    animation: asvtPin 2.2s var(--asvt-ease) infinite;
}
@keyframes asvtPin { 0%,100% { transform: translate(-50%, -100%); } 50% { transform: translate(-50%, -115%); } }
.asvt-map.is-live .asvt-map-pin, .asvt-map.is-live .asvt-map-card { display: none; }
.asvt-map-card {
    position: absolute; left: 26px; bottom: 26px; max-width: 340px;
    background: var(--asvt-bg-panel); border: 1px solid var(--asvt-border);
    border-radius: var(--asvt-radius); padding: 20px 22px;
    box-shadow: var(--asvt-shadow-3);
}
.asvt-map-card strong { display: block; font-size: 15px; margin-bottom: 4px; color: var(--asvt-text); }
.asvt-map-card > span { display: block; font-size: 13px; color: var(--asvt-text-soft); margin-bottom: 14px; }
.asvt-map-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.asvt-billing-list { list-style: none; padding: 0; margin: 0; }
.asvt-billing-list li { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px dashed var(--asvt-border); font-size: 13px; }
.asvt-billing-list li:last-child { border-bottom: 0; }
.asvt-billing-list span { color: var(--asvt-text-soft); }
.asvt-billing-list strong { color: var(--asvt-text); text-align: right; }

/* ── CTA ─────────────────────────────────────────────────────── */
.asvt-cta { position: relative; }
.asvt-cta::before { content: ''; position: absolute; inset: 0; background: rgba(10, 16, 30, .78); }
.asvt-cta > .container { position: relative; z-index: 2; }
.asvt-cta-box { padding: 44px 46px !important; }
.asvt-cta-box h2, .asvt-cta-box h3 { margin-bottom: 12px; }
.asvt-cta-box > p { color: var(--asvt-text-soft); font-size: 15.5px; max-width: 640px; margin: 0 auto; }
.asvt-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.asvt-newsletter { border-top: 1px solid var(--asvt-border); padding-top: 26px; max-width: 520px; margin: 0 auto; }
.asvt-newsletter h4 { margin-bottom: 6px; }

/* ── Widget spätného volania ─────────────────────────────────── */
.asvt-callback-widget { position: fixed; left: 22px; bottom: 22px; z-index: 2500; }
.asvt-callback-trigger {
    display: flex; align-items: center; gap: 10px;
    padding: 14px 22px; border: 0; border-radius: var(--asvt-radius-pill);
    background: var(--asvt-primary); color: #fff; font-weight: 600; font-size: 14px;
    box-shadow: var(--asvt-shadow-glow), var(--asvt-shadow-2);
    transition: transform .25s var(--asvt-ease), background-color .25s var(--asvt-ease);
}
.asvt-callback-trigger:hover { transform: translateY(-3px); background: var(--asvt-primary-dark); }
.asvt-callback-trigger i { font-size: 16px; animation: asvtRing 3s var(--asvt-ease) infinite; }
@keyframes asvtRing { 0%,88%,100% { transform: rotate(0); } 90% { transform: rotate(-14deg); } 94% { transform: rotate(12deg); } }
.asvt-callback-box {
    position: absolute; left: 0; bottom: 66px; width: min(92vw, 350px);
    background: var(--asvt-bg-panel); border: 1px solid var(--asvt-border);
    border-radius: var(--asvt-radius-lg); padding: 24px;
    box-shadow: var(--asvt-shadow-3);
    animation: asvtFadeUp .3s var(--asvt-ease);
}
.asvt-callback-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.asvt-callback-head h4 { margin: 0; font-size: 16px; }
.asvt-callback-close { border: 0; background: transparent; color: var(--asvt-text-soft); font-size: 17px; }
.asvt-callback-close:hover { color: var(--asvt-primary); }
.asvt-callback-box > p { font-size: 13px; color: var(--asvt-text-soft); margin-bottom: 14px; }

/* ── Cookie lišta ────────────────────────────────────────────── */
.asvt-cookiebar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 4000;
    background: var(--asvt-bg-panel);
    border-top: 1px solid var(--asvt-border);
    box-shadow: 0 -8px 40px rgba(16, 24, 40, .18);
    padding: 22px 0 calc(22px + env(safe-area-inset-bottom));
    transform: translateY(110%);
    transition: transform .45s var(--asvt-ease);
}
.asvt-cookiebar.is-visible { transform: translateY(0); }
.asvt-cookiebar-inner { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.asvt-cookiebar-text { flex: 1 1 380px; }
.asvt-cookiebar-text h4 { margin: 0 0 6px; font-size: 16px; }
.asvt-cookiebar-text h4 i { color: var(--asvt-primary); margin-right: 8px; }
.asvt-cookiebar-text p { margin: 0; font-size: 13px; color: var(--asvt-text-soft); line-height: 1.6; }
.asvt-cookiebar-text a { color: var(--asvt-primary); text-decoration: underline; }
.asvt-cookiebar-options { flex: 1 1 100%; display: grid; gap: 11px; padding: 16px 0 4px; border-top: 1px solid var(--asvt-border); }
.asvt-cookiebar-options .asvt-check span { font-size: 12.5px; color: var(--asvt-text-soft); }
.asvt-cookiebar-options .asvt-check strong { color: var(--asvt-text); }
.asvt-cookiebar-actions { display: flex; flex-wrap: wrap; gap: 9px; flex: 0 0 auto; }
.asvt-cookiebar-actions .btn { font-size: 12.5px; padding: 10px 18px; }
.asvt-cookie-manage {
    border: 0; background: transparent; color: inherit; padding: 0; font: inherit; cursor: pointer;
}
.asvt-cookie-manage:hover { color: var(--asvt-primary); }
.asvt-cookie-table { border: 1px solid var(--asvt-border); border-radius: var(--asvt-radius); overflow: hidden; margin: 18px 0 26px; }
.asvt-cookie-row { display: grid; grid-template-columns: 170px 1fr 130px; gap: 14px; padding: 13px 18px; border-bottom: 1px solid var(--asvt-border); font-size: 13px; }
.asvt-cookie-row:last-child { border-bottom: 0; }
.asvt-cookie-head { background: var(--asvt-bg-alt); font-weight: 600; }
.asvt-cookie-row code { background: var(--asvt-bg-alt); color: var(--asvt-primary); padding: 2px 7px; border-radius: 6px; font-size: 12px; }

/* ── Pätička ─────────────────────────────────────────────────── */
.asvt-footer { background: #10151f !important; }
html[data-theme="dark"] .asvt-footer { background: #0b0f17 !important; }
.asvt-footer .content { padding-top: 58px; }
.asvt-footer h4 { color: var(--asvt-accent) !important; font-size: 15px; margin-bottom: 18px; letter-spacing: .02em; }
.asvt-footer p, .asvt-footer li, .asvt-footer span { color: rgba(255, 255, 255, .70); font-size: 13.5px; }
.asvt-footer a { color: rgba(255, 255, 255, .82); }
.asvt-footer a:hover { color: var(--asvt-accent) !important; }
.asvt-footer-col { margin-bottom: 34px; }
.asvt-footer-logo { display: inline-block; margin-bottom: 16px; }
.asvt-footer-about { line-height: 1.72; margin-bottom: 18px; }
.asvt-footer-links { list-style: none; padding: 0; margin: 0; }
.asvt-footer-links li { margin-bottom: 9px; }
.asvt-footer-links a { font-size: 13.5px; }
.asvt-footer-links a:hover { padding-left: 5px; }
.asvt-footer-contact li { margin-bottom: 10px; }
.asvt-footer-contact .fa-li { color: var(--asvt-accent); }
.asvt-footer-hours-title { margin-top: 26px !important; }
.asvt-footer-hours { list-style: none; padding: 0; margin: 0; }
.asvt-footer-hours li { display: flex; justify-content: space-between; gap: 14px; padding: 6px 0; font-size: 13px; border-bottom: 1px dashed rgba(255, 255, 255, .10); }
.asvt-sidebar .asvt-footer-hours li { border-bottom-color: var(--asvt-border); color: var(--asvt-text-soft); }
.asvt-sidebar .asvt-footer-hours li span { color: var(--asvt-text-soft); }
.asvt-footer .social-group i.circle {
    background: rgba(255, 255, 255, .09); color: #fff;
    width: 40px; height: 40px; line-height: 40px;
    transition: all .25s var(--asvt-ease);
}
.asvt-footer .social-group a:hover i.circle { background: var(--asvt-accent); color: #1b2436; transform: translateY(-3px); }

.asvt-footer-legalrow { border-top: 1px solid rgba(255, 255, 255, .09); padding-top: 22px; margin-top: 6px; }
.asvt-footer-billing { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 12.5px; color: rgba(255, 255, 255, .55); }
.asvt-footer-billing strong { color: rgba(255, 255, 255, .82); }

.asvt-copyrow { background: rgba(0, 0, 0, .30); margin: 30px 0 0 !important; padding: 0 !important; }
.asvt-copybar {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 12px 26px; padding: 18px 0;
}
.asvt-copy-left { font-size: 12.5px; color: rgba(255, 255, 255, .62); }
.asvt-copy-nav {
    list-style: none; margin: 0; padding: 0;
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px 22px;
}
.asvt-copy-nav > li { font-size: 12.5px; display: flex; align-items: center; gap: 8px; }
.asvt-copy-nav a { color: rgba(255, 255, 255, .62); }
.asvt-copy-nav a:hover { color: var(--asvt-accent) !important; }
.asvt-copy-author a { color: rgba(255, 255, 255, .82); font-weight: 600; }
.asvt-version {
    display: inline-flex; align-items: center;
    background: var(--asvt-accent); color: #10151f !important;
    font-size: 11.5px; font-weight: 700; letter-spacing: .04em;
    padding: 3px 10px; border-radius: var(--asvt-radius-pill);
    line-height: 1.5; white-space: nowrap;
}

/* ── Banner podstránky ───────────────────────────────────────── */
.asvt-page-header {
    position: relative;
    background-size: cover; background-position: center; background-repeat: no-repeat;
    padding: calc(var(--asvt-header-h) + var(--asvt-topbar-h) + 70px) 0 70px;
    min-height: 340px; height: auto;
    display: flex; align-items: center;
    overflow: hidden;
    text-align: left;
}
.asvt-page-header .title-base { text-align: left; margin: 0; }
.asvt-page-header .title-base hr { margin-left: 0; }
.asvt-page-header-overlay { display: none; }
.asvt-page-header::before {
    content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0;
    background: linear-gradient(100deg, rgba(6, 11, 22, .82) 0%, rgba(6, 11, 22, .58) 45%, rgba(6, 11, 22, .30) 100%);
    z-index: 1;
}
html[data-theme="dark"] .asvt-page-header::before {
    background: linear-gradient(100deg, rgba(3, 6, 12, .88) 0%, rgba(3, 6, 12, .68) 45%, rgba(3, 6, 12, .40) 100%);
}
.asvt-page-header > .container { position: relative; z-index: 2; }
.asvt-page-header .title-base h1 { color: #fff !important; font-size: 40px; margin-bottom: 12px; }
.asvt-page-header .title-base p { color: rgba(255, 255, 255, .85) !important; font-size: 16px; max-width: 720px; }
.asvt-page-header .title-base hr { background-color: var(--asvt-accent) !important; }
.asvt-breadcrumb {
    background: transparent !important; padding: 0 !important; margin: 22px 0 0 !important;
    font-size: 13px;
}
.asvt-breadcrumb > li { color: rgba(255, 255, 255, .62); }
.asvt-breadcrumb > li a { color: rgba(255, 255, 255, .82); }
.asvt-breadcrumb > li a:hover { color: var(--asvt-accent); }
.asvt-breadcrumb > li + li::before { color: rgba(255, 255, 255, .4); content: '/'; }
.asvt-breadcrumb > .active { color: var(--asvt-accent); }

/* ── Chybové stránky ─────────────────────────────────────────── */
.asvt-errorpage { padding: calc(var(--asvt-header-h) + var(--asvt-topbar-h) + 70px) 0 90px; }
.asvt-error-code {
    font-size: 116px; font-weight: 800; line-height: 1;
    background: linear-gradient(135deg, var(--asvt-primary), var(--asvt-accent));
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
    margin-bottom: 12px;
}

/* ── Stránka údržby ──────────────────────────────────────────── */
.asvt-maintenance-body { margin: 0; background: #10151f; }
.asvt-maintenance {
    min-height: 100vh; min-height: 100dvh;
    background-size: cover; background-position: center; position: relative;
    display: flex; align-items: center; justify-content: center; padding: 40px 20px;
}
.asvt-maintenance-overlay { position: absolute; inset: 0; background: linear-gradient(160deg, rgba(10, 16, 30, .94), rgba(10, 16, 30, .80)); }
.asvt-maintenance-inner { position: relative; z-index: 2; width: 100%; max-width: 620px; text-align: center; }
.asvt-maintenance-logo { height: 62px; margin-bottom: 30px; }
.asvt-maintenance-card {
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .16);
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    border-radius: 26px; padding: 44px 38px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .3), 0 24px 60px rgba(0, 0, 0, .45);
}
.asvt-maintenance-spinner { font-size: 42px; color: #ffcd00; margin-bottom: 20px; }
.asvt-maintenance-card h1 { color: #fff !important; font-size: 30px; margin: 0 0 14px; }
.asvt-maintenance-lead { color: rgba(255, 255, 255, .9) !important; font-size: 16.5px; line-height: 1.66; margin-bottom: 10px; }
.asvt-maintenance-text { color: rgba(255, 255, 255, .66) !important; font-size: 14px; margin-bottom: 26px; }
.asvt-maintenance-contacts { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-bottom: 26px; }
.asvt-maintenance-phone {
    display: flex; flex-direction: column; align-items: center; gap: 2px;
    padding: 14px 20px; border-radius: 16px;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14);
    color: #fff !important; min-width: 150px;
    transition: all .25s cubic-bezier(.22, .68, .36, 1);
}
.asvt-maintenance-phone:hover { background: rgba(255, 205, 0, .18); border-color: rgba(255, 205, 0, .5); transform: translateY(-3px); }
.asvt-maintenance-phone i { color: #ffcd00; font-size: 15px; }
.asvt-maintenance-phone span { font-size: 16px; font-weight: 700; }
.asvt-maintenance-phone small { font-size: 11px; opacity: .7; }
.asvt-maintenance-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.asvt-maintenance-progress { height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .12); margin-top: 30px; overflow: hidden; }
.asvt-maintenance-progress span {
    display: block; height: 100%; width: 40%; border-radius: 4px;
    background: linear-gradient(90deg, #5584ff, #ffcd00);
    animation: asvtProgress 2.4s ease-in-out infinite;
}
@keyframes asvtProgress { 0% { margin-left: -40%; } 100% { margin-left: 100%; } }
.asvt-maintenance-foot { margin-top: 28px; font-size: 12.5px; color: rgba(255, 255, 255, .5); line-height: 1.8; }
.asvt-maintenance-foot a { color: rgba(255, 255, 255, .72); }
.asvt-maintenance-foot .asvt-version { margin-left: 6px; }

/* ── Rôzne prepisy šablóny pre tmavú tému ────────────────────── */
html[data-theme="dark"] #preloader { background-color: #10151f; }
html[data-theme="dark"] .advs-box, html[data-theme="dark"] .advs-box p { color: var(--asvt-text); }
html[data-theme="dark"] .niche-box-post { background: var(--asvt-bg-panel); }
html[data-theme="dark"] .flex-control-paging li a { background: rgba(255, 255, 255, .3); }
html[data-theme="dark"] .flex-control-paging li a.flex-active { background: var(--asvt-primary); }
html[data-theme="dark"] .table > tbody > tr > td, html[data-theme="dark"] .table > tbody > tr > th { border-color: var(--asvt-border); color: var(--asvt-text); }
html[data-theme="dark"] .mfp-bg { background: #05080f; }
html[data-theme="dark"] hr { border-color: var(--asvt-border); }
html[data-theme="dark"] .tag-row span { color: var(--asvt-text-soft); }
.scroll-top { border-radius: var(--asvt-radius-pill) !important; box-shadow: var(--asvt-shadow-2); }

/* ═══════════════════════════════════════════════════════════════
   RESPONZÍVNE SPRÁVANIE
   ═══════════════════════════════════════════════════════════════ */

/* ── Veľké notebooky (MacBook Pro 16", externé monitory) ─────── */
@media (max-width: 1440px) {
    .asvt-main-hero-title { font-size: 40px; }
    .asvt-header .navbar-nav > li > a { padding: 26px 10px; font-size: 13.5px; }
}

/* ── MacBook Air 13" a podobné (1280–1400 px) ────────────────── */
@media (max-width: 1400px) {
    :root { --asvt-header-h: 78px; }
    .container { width: auto; max-width: 1180px; padding-left: 24px; padding-right: 24px; }
    .asvt-main-hero-title { font-size: 36px; }
    .asvt-main-hero-sub { font-size: 16px; }
    .asvt-numbers-box { padding: 26px 28px !important; }
    .asvt-header .navbar-nav > li > a { padding: 24px 9px; font-size: 13px; }
    .asvt-btn-book { font-size: 12.5px; padding: 9px 16px; }
    .asvt-switch { width: 34px; height: 34px; font-size: 12px; }
    .asvt-page-header { min-height: 300px; padding-top: calc(var(--asvt-header-h) + var(--asvt-topbar-h) + 56px); padding-bottom: 56px; }
    .asvt-page-header .title-base h1 { font-size: 34px; }
    .asvt-calc-body { padding: 26px 24px 22px; }
    .asvt-cta-box { padding: 38px 34px !important; }
}

/* ── Malé notebooky / veľké tablety na šírku (1200 px) ───────── */
@media (max-width: 1200px) {
    .asvt-header .navbar-nav > li > a { padding: 22px 7px; font-size: 12.5px; }
    .asvt-nav-cta .asvt-btn-book span { display: none; }
    .asvt-main-hero-title { font-size: 32px; }
    .asvt-service-card { padding: 28px 20px !important; }
    .asvt-step p { font-size: 12.5px; }
    .asvt-map-card { max-width: 300px; left: 20px; bottom: 20px; padding: 16px 18px; }
}

/* ── Tablet a menej: prepnutie na vlastné panelové menu ──────── */
@media (max-width: 992px) {
    :root { --asvt-header-h: 70px; --asvt-topbar-h: 0px; }

    .asvt-topbar { display: none !important; }

    .asvt-header .navbar-fixed-top {
        position: fixed !important; top: 0 !important;
        background: var(--asvt-bg) !important;
        box-shadow: var(--asvt-shadow-1);
    }
    .asvt-header .navbar-collapse,
    .asvt-header .navbar-collapse.collapse.in { display: none !important; }
    .asvt-header .navbar-header { display: flex; align-items: center; justify-content: space-between; width: 100%; float: none; }
    .asvt-header .navbar-toggle {
        display: block !important; float: none; margin: 0;
        width: 44px; height: 44px; border-radius: var(--asvt-radius-sm);
        border: 1px solid var(--asvt-border-strong) !important;
        background: transparent !important; order: 2;
    }
    .asvt-header .navbar-toggle i { color: var(--asvt-text) !important; font-size: 18px; }
    .asvt-header .navbar-brand { order: 1; margin-left: 0 !important; padding: 10px 0; }
    .asvt-brand img { height: 46px; }

    .asvt-main-hero { padding-top: calc(var(--asvt-header-h) + 20px); }
    .asvt-main-hero-title { font-size: 30px; }
    .asvt-main-hero-sub { font-size: 15.5px; }
    .asvt-icon-box { padding: 20px 22px; }

    .asvt-page-header {
        min-height: 260px;
        padding: calc(var(--asvt-header-h) + 46px) 0 46px;
    }
    .asvt-page-header .title-base h1 { font-size: 30px; }
    .asvt-page-header .title-base p { font-size: 15px; }

    .col-md-custom-5 { width: 33.333%; }
    .asvt-step::after { display: none; }
    .asvt-steps { justify-content: center; }

    .asvt-service-row .col-md-push-6, .asvt-service-row .col-md-pull-6 { left: auto; right: auto; }
    .asvt-service-row > div { margin-bottom: 26px; }
    .asvt-service-body { padding-top: 4px; }

    .asvt-sidebar { margin-top: 36px; }
    .asvt-map, .asvt-map-static, .asvt-map iframe { min-height: 340px; }
    .asvt-map-card { position: static; max-width: none; margin: 0; border-radius: 0 0 var(--asvt-radius-lg) var(--asvt-radius-lg); box-shadow: none; border-width: 1px 0 0; }
    .asvt-map { flex-direction: column; align-items: stretch; }
    .asvt-map-pin { top: 40%; }

    .asvt-cta-box { padding: 32px 26px !important; }
    .asvt-copybar { justify-content: center; text-align: center; }
    .asvt-copy-nav { justify-content: center; }
    .asvt-footer-billing { justify-content: flex-start; }

    .asvt-cookiebar-inner { flex-direction: column; align-items: stretch; gap: 16px; }
    .asvt-cookiebar-actions { justify-content: stretch; }
    .asvt-cookiebar-actions .btn { flex: 1 1 auto; }

    /* Šablóna pod 992 px prepína fixné hlavičky na statické — vraciame späť */
    body.iex header.fixed-top, header.fixed-top { position: relative; }
}

/* ── Tablet na výšku (768 px) ────────────────────────────────── */
@media (max-width: 768px) {
    .container { padding-left: 18px; padding-right: 18px; }
    .content { padding-top: 42px !important; padding-bottom: 42px !important; }

    .asvt-main-hero-title { font-size: 27px; line-height: 1.24; }
    .asvt-main-hero .btn-lg { display: block; width: 100%; margin-bottom: 10px; }
    .asvt-main-hero .space { display: none; }
    .asvt-hero-trust { gap: 8px 18px; justify-content: flex-start; }
    .asvt-hero-trust li { font-size: 13px; }
    .asvt-process-title { font-size: 21px; }
    .asvt-numbers-box { padding: 22px 22px !important; }

    .asvt-stats { padding: 40px 0 20px; }
    .asvt-stat { padding: 12px 6px; }
    .asvt-stat .counter-box-simple .text-l { font-size: 30px !important; }
    .asvt-stat p { font-size: 12.5px; }

    .col-md-custom-5 { width: 50%; }
    .asvt-service-grid > div, .asvt-team-grid > div, .asvt-contact-cards > div { margin-bottom: 22px; }

    .asvt-calc-steps { border-bottom: 0; }
    .asvt-calc-step { min-width: 104px; font-size: 11.5px; padding: 13px 8px; }
    .asvt-calc-step span { width: 21px; height: 21px; line-height: 21px; font-size: 11px; flex-basis: 21px; }
    .asvt-calc-body { padding: 22px 18px 20px; }
    .asvt-calc-tiles { grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 10px; }
    .asvt-calc-nav { flex-direction: column-reverse; }
    .asvt-calc-nav .btn { width: 100%; }
    .asvt-calc-total .asvt-calc-amount { font-size: 32px; }

    .asvt-price-row { flex-direction: column; align-items: flex-start; gap: 8px; padding: 15px 18px; }
    .asvt-price-value { font-size: 16px; }
    .asvt-price-group-title { font-size: 17px; }
    .asvt-price-group-title i { width: 38px; height: 38px; font-size: 15px; }

    .asvt-cookie-row { grid-template-columns: 1fr; gap: 5px; }
    .asvt-cookie-head { display: none; }

    .asvt-slotpicker { padding: 22px 18px !important; }
    .asvt-time-grid { grid-template-columns: repeat(auto-fill, minmax(74px, 1fr)); gap: 8px; }

    .asvt-review { padding: 22px 22px !important; }
    .asvt-sidebar .boxed-inverse, .boxed-inverse { padding: 22px 22px !important; }
    .asvt-article h3 { font-size: 19px; margin-top: 28px; }
    .asvt-error-code { font-size: 82px; }
}

/* ── Mobil (576 px) ──────────────────────────────────────────── */
@media (max-width: 576px) {
    :root { --asvt-header-h: 64px; }

    .container { padding-left: 16px; padding-right: 16px; }
    .content { padding-top: 34px !important; padding-bottom: 34px !important; }

    h1 { font-size: 26px !important; }
    h2 { font-size: 22px !important; }
    h3 { font-size: 18px !important; }
    .title-base h2 { font-size: 22px !important; }
    .asvt-lead { font-size: 15px; }

    .asvt-brand img { height: 40px; }
    .asvt-main-hero { padding-top: calc(var(--asvt-header-h) + 10px); }
    .asvt-main-hero-title { font-size: 24px; }
    .asvt-main-hero-sub { font-size: 14.5px; }
    .asvt-badge { font-size: 11.5px; padding: 7px 14px; margin-bottom: 16px; }
    .asvt-hero-trust { flex-direction: column; gap: 7px; align-items: flex-start; }
    .asvt-icon-box { padding: 18px 20px; }
    .asvt-slide-card .advs-box-content { padding: 20px 20px 24px !important; }

    .asvt-page-header { min-height: 210px; padding: calc(var(--asvt-header-h) + 34px) 0 34px; }
    .asvt-page-header .title-base h1 { font-size: 25px; }
    .asvt-page-header .title-base p { font-size: 14px; }
    .asvt-breadcrumb { font-size: 12px; margin-top: 16px !important; }

    .asvt-stat { padding: 10px 4px; }
    .asvt-stat .counter-box-simple .text-l { font-size: 26px !important; }
    .asvt-stat p { font-size: 11.5px; line-height: 1.4; }

    .col-md-custom-5 { width: 100%; }
    .asvt-step { padding: 18px 10px; display: flex; gap: 14px; text-align: left; align-items: flex-start; }
    .asvt-step-num { margin: 0; flex: 0 0 30px; }
    .asvt-step > i { display: none; }
    .asvt-step h4 { margin-top: 2px; }

    .asvt-calc-steps { padding: 0 4px; }
    .asvt-calc-step { min-width: 92px; font-size: 0; gap: 0; padding: 12px 6px; }
    .asvt-calc-step span { font-size: 12px; width: 26px; height: 26px; line-height: 26px; flex-basis: 26px; }
    .asvt-calc-step.is-active { font-size: 11.5px; min-width: 132px; gap: 7px; }
    .asvt-calc-body { padding: 20px 16px 18px; }
    .asvt-calc-tiles { grid-template-columns: 1fr 1fr; }
    .asvt-calc-tile-inner { padding: 15px 8px; }
    .asvt-calc-tile-inner strong { font-size: 12px; }
    .asvt-calc-total { padding: 20px; }
    .asvt-calc-total .asvt-calc-amount { font-size: 28px; }
    .asvt-calc-items li { font-size: 13px; gap: 10px; }

    .asvt-form-actions { flex-direction: column; align-items: stretch; }
    .asvt-submit { width: 100%; }
    .asvt-challenge-row { flex-direction: column; align-items: stretch; gap: 8px; }
    .asvt-challenge-row input { max-width: none; }

    .asvt-day { width: 78px; padding: 10px 6px; }
    .asvt-day-num { font-size: 19px; }
    .asvt-time-grid { grid-template-columns: repeat(3, 1fr); }

    .asvt-map, .asvt-map-static, .asvt-map iframe { min-height: 260px; }
    .asvt-map-card { padding: 16px 18px; }
    .asvt-map-actions .btn { flex: 1 1 100%; text-align: center; }

    .asvt-cta-box { padding: 26px 20px !important; }
    .asvt-cta-actions { flex-direction: column; }
    .asvt-cta-actions .btn { width: 100%; text-align: center; }

    .asvt-callback-widget { left: 14px; bottom: 14px; }
    .asvt-callback-trigger { padding: 12px 16px; font-size: 13px; }
    .asvt-callback-trigger span { display: none; }
    .asvt-callback-trigger i { animation: none; }
    .asvt-callback-box { width: calc(100vw - 28px); left: 0; bottom: 58px; padding: 20px; }

    .asvt-cookiebar { padding: 18px 0 calc(18px + env(safe-area-inset-bottom)); max-height: 80vh; overflow-y: auto; }
    .asvt-cookiebar-actions { flex-direction: column; }
    .asvt-cookiebar-actions .btn { width: 100%; }

    .asvt-footer-col { margin-bottom: 26px; }
    .asvt-footer-billing { flex-direction: column; gap: 5px; font-size: 12px; }
    .asvt-copybar { padding: 16px 0; gap: 10px; }
    .asvt-copy-nav { gap: 8px 16px; font-size: 12px; }
    .asvt-copy-nav > li { font-size: 12px; }
    .asvt-copy-author { flex-direction: row; }

    .asvt-error-code { font-size: 64px; }
    .asvt-maintenance-card { padding: 30px 22px; }
    .asvt-maintenance-card h1 { font-size: 24px; }
    .asvt-maintenance-contacts { flex-direction: column; }
    .asvt-maintenance-phone { min-width: 0; width: 100%; }
    .asvt-maintenance-actions { flex-direction: column; }
    .asvt-maintenance-actions .btn { width: 100%; }

    .asvt-mobile-panel { width: 100%; border-radius: 0; }
}

/* ── Veľmi malé displeje ─────────────────────────────────────── */
@media (max-width: 360px) {
    .asvt-main-hero-title { font-size: 21px; }
    .asvt-calc-tiles { grid-template-columns: 1fr; }
    .asvt-time-grid { grid-template-columns: repeat(2, 1fr); }
    .asvt-stat { width: 100%; }
}

/* ── Zariadenia s dotykovým ovládaním ────────────────────────── */
@media (hover: none) {
    .img-box:hover { transform: none; }
    .img-box:hover img { transform: none; }
    .btn:hover, .circle-button:hover { transform: none; }
    .asvt-insurer:hover, .asvt-chip:hover { transform: none; }
}

/* ── Používatelia s obmedzeným pohybom ───────────────────────── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ── Tlač ────────────────────────────────────────────────────── */
@media print {
    .asvt-topbar, .asvt-header, .asvt-mobile-menu, .asvt-callback-widget,
    .asvt-cookiebar, .scroll-top, #preloader { display: none !important; }
    body { background: #fff; color: #000; }
    .asvt-footer { background: #fff !important; color: #000 !important; }
}

/* ═══════════════════════════════════════════════════════════════
   Farby textu v sekciách s tmavým podkladom (úvodná stránka)
   ═══════════════════════════════════════════════════════════════ */
.asvt-second-section .asvt-step h4,
.asvt-third-section .asvt-step h4 { color: #fff !important; }
.asvt-second-section .asvt-step p,
.asvt-third-section .asvt-step p { color: rgba(255, 255, 255, .70) !important; }
.asvt-second-section .asvt-step > i,
.asvt-third-section .asvt-step > i { color: var(--asvt-accent) !important; }
.asvt-second-section .asvt-step::after,
.asvt-third-section .asvt-step::after {
    background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .28) 0 6px, transparent 6px 12px);
}
.asvt-second-section .asvt-calc-usp li { color: rgba(255, 255, 255, .82) !important; }
.asvt-second-section .asvt-calc-usp .fa-li { color: var(--asvt-accent) !important; }



/* Carousel a lightbox ovládanie */
.flex-direction-nav a { border-radius: var(--asvt-radius-pill) !important; }
.asvt-service-slider .flex-control-paging,
.asvt-caption-slider .flex-control-paging { margin-top: 10px; }
.asvt-main-hero .flex-control-paging li a { background: rgba(255, 255, 255, .35); }
.asvt-main-hero .flex-control-paging li a.flex-active { background: var(--asvt-accent); }

/* Titulky sekcií vo svetlých sekciách */
.asvt-reviews .title-base h2, .asvt-blog-preview .title-base h2, .asvt-faq-preview .title-base h2 { color: var(--asvt-text) !important; }

/* ═══════════════════════════════════════════════════════════════
   Ostrosť a jas obrázkov — fotky z Pexels sú mäkšie, mierne
   zvýšený kontrast a sýtosť im vráti „ostrý" dojem na displeji.
   ═══════════════════════════════════════════════════════════════ */
.img-box img,
.asvt-round-img,
.asvt-slide-card img,
.asvt-caption-slider img,
.asvt-gallery-slider img,
.asvt-team-photo img,
.asvt-article-hero img {
    filter: contrast(1.08) saturate(1.10) brightness(1.04);
    image-rendering: -webkit-optimize-contrast;
    backface-visibility: hidden;
}
html[data-theme="dark"] .img-box img,
html[data-theme="dark"] .asvt-round-img,
html[data-theme="dark"] .asvt-slide-card img,
html[data-theme="dark"] .asvt-caption-slider img,
html[data-theme="dark"] .asvt-gallery-slider img {
    filter: contrast(1.06) saturate(1.04) brightness(.98);
}

/* Pozadia sekcií s fotkou — ostrejšie, bez rozmazania mierkou */
.asvt-main-hero, .asvt-page-header, .asvt-second-section, .asvt-third-section, .asvt-cta {
    background-attachment: scroll;
    image-rendering: -webkit-optimize-contrast;
}

/* Slidery — jasnejšie karty a výraznejšie ovládanie */
.asvt-service-slider .asvt-slide-card,
.asvt-review-slider .asvt-review {
    background: var(--asvt-bg-panel) !important;
    box-shadow: var(--asvt-shadow-2) !important;
}
.asvt-caption-slider .img-box,
.asvt-gallery-slider .img-box { box-shadow: var(--asvt-shadow-3); }

.flex-direction-nav a {
    background: rgba(255, 255, 255, .94) !important;
    color: var(--asvt-primary-dark) !important;
    box-shadow: var(--asvt-shadow-2);
    opacity: 1 !important;
    transition: transform .25s var(--asvt-ease), background-color .25s var(--asvt-ease);
}
.flex-direction-nav a:hover { background: var(--asvt-primary) !important; color: #fff !important; transform: scale(1.08); }
html[data-theme="dark"] .flex-direction-nav a { background: rgba(33, 43, 64, .96) !important; color: #fff !important; }

.flex-control-paging li a { background: rgba(120, 130, 155, .40); box-shadow: none; }
.flex-control-paging li a.flex-active { background: var(--asvt-primary); }
.asvt-main-hero .flex-control-paging li a { background: rgba(255, 255, 255, .38); }
.asvt-main-hero .flex-control-paging li a.flex-active { background: var(--asvt-accent); }

/* ═══════════════════════════════════════════════════════════════
   Horizontálne zarovnanie kariet — rovnaká výška a spoločná
   účiara pre metadáta aj odkaz, aj keď má karta menej textu.
   ═══════════════════════════════════════════════════════════════ */
.asvt-service-slider .slides,
.asvt-review-slider .slides { display: flex; align-items: stretch; }
.asvt-service-slider .slides > li,
.asvt-review-slider .slides > li { display: flex; height: auto; float: none; }

.asvt-slide-card,
.asvt-service-card,
.asvt-post-card,
.asvt-gallery-card,
.asvt-team-card,
.asvt-review {
    display: flex; flex-direction: column; width: 100%; height: 100%;
}
.asvt-slide-card .advs-box-content,
.asvt-post-card .advs-box-content,
.asvt-gallery-card .advs-box-content,
.asvt-team-card .content-box {
    display: flex; flex-direction: column; flex: 1 1 auto;
}
/* Popis vytlačí metadáta a odkaz nadol — účiara je pri všetkých kartách rovnaká */
.asvt-slide-card .advs-box-content > p,
.asvt-post-card .niche-box-content,
.asvt-gallery-card .advs-box-content > p,
.asvt-team-card .content-box > p { flex: 1 1 auto; }

.asvt-slide-card .asvt-service-meta,
.asvt-service-card .asvt-service-meta {
    margin-top: auto; padding-top: 14px;
    border-top: 1px solid var(--asvt-border);
    min-height: 46px; align-items: center;
}
.asvt-slide-card .btn-text,
.asvt-service-card .btn-text,
.asvt-post-card .btn-text { margin-top: 12px; align-self: flex-start; }
.asvt-slide-card, .asvt-service-card { text-align: center; }
.asvt-slide-card .asvt-service-meta, .asvt-service-card .asvt-service-meta { justify-content: center; }
.asvt-slide-card .btn-text, .asvt-service-card .btn-text { align-self: center; }

.asvt-review { justify-content: space-between; }
.asvt-review .asvt-review-text { flex: 1 1 auto; }
.asvt-review-author { margin-top: auto; }

/* Rovnaká výška aj v obyčajných mriežkach (bez carouselu) */
.asvt-service-grid, .asvt-team-grid, .asvt-contact-cards,
.asvt-blog-preview .row { display: flex; flex-wrap: wrap; }
.asvt-service-grid > div, .asvt-team-grid > div,
.asvt-contact-cards > div, .asvt-blog-preview .row > div { display: flex; }

/* ═══════════════════════════════════════════════════════════════
   Zarovnanie položiek hlavného menu na jednu vodorovnú os
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 993px) {
    .asvt-header .navbar-main > .container { display: flex; align-items: center; justify-content: space-between; }
    .asvt-header .navbar-header { float: none; display: flex; align-items: center; }
    .asvt-header .navbar-collapse { float: none; padding: 0; }
    .asvt-header .navbar-collapse > .nav.navbar-nav { float: none; margin: 0; }

    .asvt-header .navbar-nav {
        display: flex !important;
        align-items: center;
        float: none !important;
        margin: 0 !important;
    }
    .asvt-header .navbar-nav > li {
        float: none !important;
        display: flex;
        align-items: center;
        height: var(--asvt-header-h);
    }
    .asvt-header .navbar-nav > li > a {
        display: flex; align-items: center;
        height: 100%;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1.2;
    }
    .asvt-header .navbar-nav > li.asvt-nav-tools,
    .asvt-header .navbar-nav > li.asvt-nav-cta { align-items: center; }
    .asvt-header .asvt-switchers { display: flex; align-items: center; }
    .asvt-header .asvt-btn-book { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
    .asvt-header .navbar-brand { float: none; }

    /* Rozbaľovacie menu musí zostať ukotvené k položke, nie k flex riadku */
    .asvt-header .navbar-nav > li { position: relative; }
    .asvt-header .navbar-nav > li.mega-dropdown { position: static; }
}



/* Text v hero potrebuje pri svetlejšom podklade vlastný tieň */
.asvt-main-hero-title { text-shadow: 0 2px 10px rgba(0, 0, 0, .55), 0 6px 34px rgba(0, 0, 0, .45); }
.asvt-main-hero-sub { text-shadow: 0 1px 8px rgba(0, 0, 0, .6); }
.asvt-hero-trust li { text-shadow: 0 1px 8px rgba(0, 0, 0, .6); }


/* Obrázky v kartách majú pevný pomer strán — karty tak držia rovnakú účiaru */
.asvt-slide-card > .img-box,
.asvt-post-card > .img-box,
.asvt-gallery-card > .img-box { flex: 0 0 auto; }
.asvt-slide-card > .img-box img,
.asvt-post-card > .img-box img,
.asvt-gallery-card > .img-box img {
    aspect-ratio: 16 / 10; object-fit: cover; width: 100%; height: auto; display: block;
}
.asvt-slide-card > .img-box > span,
.asvt-post-card > .img-box > span { display: block; }

/* ═══════════════════════════════════════════════════════════════
   Značková paleta — žltá z loga nahrádza modrú zo šablóny.
   Na svetlom podklade sa pre text používa stmavený odtieň,
   aby zostal čitateľný; na tmavom svieti čistá žltá.
   ═══════════════════════════════════════════════════════════════ */

/* Plné tlačidlá: žltá plocha, tmavý text */
html .btn:not(.btn-border):not(.btn-text),
html .circle-button:not(.btn-border),
html .asvt-btn-primary,
html .asvt-btn-book,
html .asvt-mobile-cta,
html .asvt-callback-trigger,
html .btn-primary {
    background: var(--asvt-primary) !important;
    border-color: var(--asvt-primary) !important;
    color: var(--asvt-on-primary) !important;
    font-weight: 600;
}
html .btn:not(.btn-border):not(.btn-text):hover,
html .circle-button:not(.btn-border):hover,
html .asvt-btn-primary:hover,
html .asvt-btn-book:hover,
html .asvt-callback-trigger:hover {
    background: var(--asvt-primary-dark) !important;
    border-color: var(--asvt-primary-dark) !important;
    color: var(--asvt-on-primary) !important;
}
html .btn:not(.btn-border):not(.btn-text) i,
html .circle-button:not(.btn-border) i,
html .asvt-btn-primary i,
html .asvt-btn-book i,
html .asvt-callback-trigger i,
html .asvt-mobile-cta i,
html .asvt-submit i { color: var(--asvt-on-primary) !important; }

/* Obrysové tlačidlá */
html .btn.btn-border {
    border-color: var(--asvt-primary) !important;
    color: var(--asvt-primary-ink) !important;
    background: transparent !important;
}
html .btn.btn-border:hover {
    background: var(--asvt-primary) !important;
    color: var(--asvt-on-primary) !important;
}
html .btn.btn-border i { color: inherit !important; }
html[data-theme="dark"] .btn.btn-border { color: var(--asvt-primary) !important; }

/* Odkazy typu „Zistiť viac", ceny a ikony v kartách */
html .btn-text,
html .btn-text:hover,
html .btn-text i,
html .asvt-price,
html .asvt-service-meta i,
html .asvt-sidebar-prices strong,
html .asvt-price-value,
html .asvt-faq-cat,
html .asvt-numbers-box .counter-box-simple span,
html .asvt-stat .counter-box-simple span,
html .text-color,
html .counter,
html .advs-box .btn-text { color: var(--asvt-primary-ink) !important; }
html .btn-text:after, html .advs-box .btn-text:after { border-color: var(--asvt-primary-ink) !important; }
html .fa-ul .fa-li,
html .asvt-bullets .fa-li,
html .asvt-check-list .fa-li,
html .asvt-calc-usp .fa-li,
html .asvt-sidebar-links i,
html .asvt-chip i,
html .asvt-insurer i,
html .asvt-article-meta i,
html .asvt-topbar i,
html .asvt-footer-contact .fa-li { color: var(--asvt-primary-ink) !important; }

/* Kruhové ikony sekcií — žltá plocha, tmavý symbol */
html i.icon.circle,
html .asvt-service-card i.icon.circle,
html .asvt-contact-cards i.icon.circle,
html .asvt-service-icon,
html .asvt-price-group-title i,
html .asvt-step-num,
html .progress-bar,
html .timeline-badge {
    background: var(--asvt-primary) !important;
    color: var(--asvt-on-primary) !important;
    border-color: var(--asvt-primary) !important;
}

/* Aktívne stavy menu, formulárov a komponentov */
html .asvt-header .navbar-nav > li:hover > a,
html .asvt-header .navbar-nav > li.active > a,
html .asvt-header .dropdown-menu > li > a:hover,
html .asvt-header .dropdown-menu > li > a i,
html .asvt-header .mega-menu h5,
html .asvt-header .mega-menu .fa-ul .fa-li,
html .asvt-header .mega-menu a:hover,
html .asvt-accordion .list-group-item > a::after,
html .asvt-accordion .list-group-item > a.active,
html .asvt-timeline .timeline-label h4,
html .asvt-map-pin,
html .asvt-team-card h4,
html .asvt-review-stars,
html .asvt-gallery-vehicle,
html .asvt-slot-summary,
html .asvt-day-free { color: var(--asvt-primary-ink) !important; }

html .asvt-header .mega-menu .nav-tabs > li.active > a,
html .asvt-header .mega-menu .nav-tabs > li > a:hover,
html .maso-filters > li.active > a,
html .maso-filters > li > a:hover,
html .asvt-time.is-active,
html .flex-control-paging li a.flex-active {
    background: var(--asvt-primary) !important;
    color: var(--asvt-on-primary) !important;
    border-color: var(--asvt-primary) !important;
}

html .form-control:focus {
    border-color: var(--asvt-primary) !important;
    box-shadow: 0 0 0 4px rgba(85, 132, 255, .18) !important;
}
html .asvt-check input { accent-color: var(--asvt-primary); }
html .asvt-calc-tile input:checked + .asvt-calc-tile-inner,
html .asvt-day.is-active {
    border-color: var(--asvt-primary) !important;
    background: rgba(85, 132, 255, .10) !important;
}
html .asvt-calc-step.is-active { color: var(--asvt-primary-ink) !important; border-bottom-color: var(--asvt-primary) !important; }
html .asvt-calc-step.is-active span,
html .asvt-calc-step.is-done span { background: var(--asvt-primary) !important; color: var(--asvt-on-primary) !important; }
html .asvt-calc-total {
    background: linear-gradient(135deg, var(--asvt-primary), var(--asvt-primary-dark)) !important;
    color: var(--asvt-on-primary) !important;
}
html .asvt-calc-total * { color: var(--asvt-on-primary) !important; }
html .asvt-sidebar-cta { border-top-color: var(--asvt-primary) !important; }
html .asvt-post-cta { border-left-color: var(--asvt-primary) !important; }
html .asvt-error-code { background: linear-gradient(135deg, var(--asvt-primary-dark), var(--asvt-primary)); -webkit-background-clip: text; background-clip: text; }

/* Na tmavých sekciách zostáva čistá žltá */
.asvt-main-hero .btn-text, .asvt-second-section .btn-text, .asvt-third-section .btn-text,
.asvt-main-hero .fa-li, .asvt-second-section .fa-li, .asvt-third-section .fa-li,
.asvt-why-box i, .asvt-icon-box i { color: var(--asvt-accent) !important; }
.asvt-footer h4 { color: var(--asvt-accent) !important; }
.asvt-version { background: var(--asvt-accent) !important; color: #10151f !important; }

/* Poisťovne v svetlom paneli — rovnaký vzhľad ako box s číslami */
.asvt-insurers-box { padding: 34px 36px !important; }
.asvt-insurers-box h4 { color: var(--asvt-text) !important; margin-bottom: 10px; }
.asvt-insurers-box .asvt-insurer-list {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px;
}
html .asvt-third-section .asvt-insurers-box .asvt-insurer {
    background: var(--asvt-bg-alt) !important;
    border: 1px solid var(--asvt-border) !important;
    color: var(--asvt-text) !important;
    padding: 13px 16px; font-size: 13px;
}
html .asvt-third-section .asvt-insurers-box .asvt-insurer span { color: var(--asvt-text) !important; }
html .asvt-third-section .asvt-insurers-box .asvt-insurer i { color: var(--asvt-primary-ink) !important; }
html .asvt-third-section .asvt-insurers-box .asvt-insurer:hover {
    background: var(--asvt-bg-panel) !important;
    border-color: var(--asvt-primary) !important;
}
@media (max-width: 992px) {
    .asvt-insurers-box .col-md-8 { margin-top: 22px; }
}

/* ═══════════════════════════════════════════════════════════════
   Hlavička v tmavej téme — šablóna nastavuje bielu na vnútorných
   vrstvách navbaru, preto ich prepíname explicitne.
   ═══════════════════════════════════════════════════════════════ */
html .asvt-header .navbar-main,
html .asvt-header .navbar-default,
html .asvt-header .navbar,
html .asvt-header .navbar-collapse,
html .asvt-header .navbar-fixed-top {
    background-color: var(--asvt-bg) !important;
    border-color: var(--asvt-border) !important;
}
html .asvt-header .navbar-default .navbar-toggle { background: transparent !important; }
html[data-theme="dark"] .asvt-header .navbar-toggle i { color: var(--asvt-text) !important; }

/* Rozbaľovacie ponuky a mega menu v tmavej téme */
html[data-theme="dark"] .asvt-header .dropdown-menu,
html[data-theme="dark"] .asvt-header .mega-menu.dropdown-menu,
html[data-theme="dark"] .asvt-header .bg-menu {
    background-color: var(--asvt-bg-panel) !important;
}
html[data-theme="dark"] .asvt-header .mega-menu .nav-tabs > li > a { color: var(--asvt-text-soft) !important; }

/* ═══════════════════════════════════════════════════════════════
   Doznievajúca modrá zo skin.css šablóny — plošné prefarbenie
   na značkovú žltú (deliace čiary, odznaky, indikátory).
   ═══════════════════════════════════════════════════════════════ */
html .title-base hr,
html .header-title hr,
html .title-base .scroll-top,
html .title-modern .scroll-top,
html .call-action-box,
html .tagbox span,
html .extra-content,
html .advs-box.boxed,
html .advs-box-side-img hr,
html .intro-box:after,
html .intro-box:before,
html .list-items .list-item span,
html .niche-box-post .block-infos .block-data,
html .breadcrumb > li + li:before,
html .nav:not(.ms-rounded) li > a:before,
html .navbar-inner .nav.ms-minimal li a:before,
html .header-base .breadcrumb,
html [class*="header-"] .title-base h1:before,
html .title-base h2:before,
html .accordion-list .list-group-item:before,
html .scroll-top {
    background-color: var(--asvt-primary) !important;
}
html .scroll-top { color: var(--asvt-on-primary) !important; }
html .scroll-top:before { color: var(--asvt-on-primary) !important; }

html .border-color,
html .quote-author,
html .niche-box-post,
html .timeline > li > .timeline-badge,
html .nav-pills > li.active > a,
html .tab-box .nav-tabs > li.active > a {
    border-color: var(--asvt-primary) !important;
}

html i.icon,
html .btn-text i,
html .dropdown-menu ul > li:hover > a,
html .advs-box-content h2:hover a,
html .pricing-table .pricing-price span,
html footer h4,
html .box-menu-inner .icon-box i,
html .caption-bottom p,
html .accordion-list .list-group-item > a i,
html .adv-circle.adv-circle-center i,
html .box-steps .step-item:after,
html .box-steps .step-number,
html h6,
html li.panel-item .fa-li,
html .side-menu i,
html .bs-menu li:hover > a,
html .img-box.adv-circle i,
html .advs-box-side .icon,
html .advs-box-side-icon i,
html .title-icon i,
html .anima-button i,
html .advs-box-multiple div i,
html .footer-center .footer-title,
html .block-quote.quote-1:before,
html div .extra-content,
html .navbar-default .navbar-nav > .active > a {
    color: var(--asvt-primary-ink) !important;
}
html .asvt-footer h4, html .asvt-main-hero i.icon, html .asvt-second-section i.icon,
html .asvt-third-section i.icon { color: var(--asvt-accent) !important; }

/* Kontaktné ikonové kruhy nech nie sú prehnane veľké */
.asvt-contact-cards i.icon.circle {
    width: 62px; height: 62px; line-height: 62px; font-size: 24px !important;
}

/* ═══════════════════════════════════════════════════════════════
   Obsah na tmavých sekciách sa vždy zobrazuje vo svetlom paneli —
   rovnaká čitateľnosť a jednotný vzhľad ako box s číslami.
   ═══════════════════════════════════════════════════════════════ */
.asvt-calc-side, .asvt-intro-box { padding: 30px 32px !important; height: 100%; }
.asvt-calc-side .asvt-round-img { margin-bottom: 4px; }

html .asvt-calc-side .asvt-calc-usp li,
html .asvt-intro-box .asvt-check-list li,
html .asvt-intro-box p { color: var(--asvt-text-soft) !important; }
html .asvt-calc-side .asvt-calc-usp .fa-li,
html .asvt-intro-box .asvt-check-list .fa-li { color: var(--asvt-primary-ink) !important; }
html .asvt-intro-box h1 {
    color: var(--asvt-text) !important;
    font-size: 26px; line-height: 1.28; text-shadow: none;
}
html .asvt-intro-box .btn-text { color: var(--asvt-primary-ink) !important; }

/* Zvyšné nadpisy sekcií zostávajú svetlé na fotografickom pozadí */
.asvt-intro-row > .col-md-4 > .asvt-intro-box { text-align: left; }
@media (max-width: 992px) {
    .asvt-calc-side, .asvt-intro-box { margin-bottom: 24px; }
}

/* ═══════════════════════════════════════════════════════════════
   Poistka animácií: prvok, ktorý animačný skript šablóny z akéhokoľvek
   dôvodu neodkryje (načítanie mimo obrazovky, rýchly scroll), sa musí
   zobraziť sám. Bez tejto poistky by zostal natrvalo priehľadný.
   ═══════════════════════════════════════════════════════════════ */
.asvt-post-card img,
.asvt-slide-card img,
.asvt-gallery-card img,
.asvt-team-card img,
.asvt-service-card img,
.img-box img.anima {
    opacity: 1 !important;
    visibility: visible !important;
}

/* ═══════════════════════════════════════════════════════════════
   Karta tímu — fotka vždy hore, tvár v hornej tretine výrezu.
   Šablónový `niche-box-team` presúva obrázok pod text, preto
   určujeme poradie explicitne.
   ═══════════════════════════════════════════════════════════════ */
.asvt-team-card { display: flex !important; flex-direction: column; padding: 0 !important; }
.asvt-team-card .asvt-team-photo { order: 1; margin: 0 !important; display: block; }
.asvt-team-card .content-box { order: 2; position: static !important; padding: 24px 26px 28px !important; }
.asvt-team-card .asvt-team-photo img {
    width: 100%; aspect-ratio: 3 / 4; max-height: 340px;
    object-fit: cover; object-position: 50% 22%;
    display: block;
}
.asvt-team-card h2 { margin-top: 0; }

/* ═══════════════════════════════════════════════════════════════
   Panely na fotografickom podklade v „sklenenom" prevedení —
   priesvitná sivá plocha s rozostrením pozadia a bielym textom.
   ═══════════════════════════════════════════════════════════════ */
html .asvt-icon-box,
html .asvt-calc-side,
html .asvt-intro-box,
html .asvt-third-section .asvt-numbers-box,
html .asvt-third-section .asvt-insurers-box {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    box-shadow: none !important;
}
html[data-theme="dark"] .asvt-icon-box,
html[data-theme="dark"] .asvt-calc-side,
html[data-theme="dark"] .asvt-intro-box,
html[data-theme="dark"] .asvt-third-section .asvt-numbers-box,
html[data-theme="dark"] .asvt-third-section .asvt-insurers-box {
    background: transparent !important;
    border-color: rgba(255, 255, 255, .12) !important;
}

/* Text v sklenených paneloch */
html .asvt-icon-box label,
html .asvt-intro-box h1,
html .asvt-numbers-box h4,
html .asvt-insurers-box h4 {
    color: #fff !important;
    text-shadow: 0 1px 6px rgba(0, 0, 0, .55);
}
html .asvt-icon-box p,
html .asvt-intro-box p,
html .asvt-intro-box .asvt-check-list li,
html .asvt-calc-side .asvt-calc-usp li,
html .asvt-numbers-box .asvt-check-list li,
html .asvt-numbers-box p,
html .asvt-icon-box p, html .asvt-intro-box p,
html .asvt-insurers-box p {
    color: rgba(255, 255, 255, .88) !important;
    text-shadow: 0 1px 5px rgba(0, 0, 0, .5);
}
html .asvt-icon-box i,
html .asvt-intro-box .fa-li,
html .asvt-calc-side .fa-li,
html .asvt-numbers-box .fa-li { color: var(--asvt-accent) !important; }
html .asvt-intro-box .btn-text,
html .asvt-numbers-box .counter-box-simple span { color: var(--asvt-accent) !important; }
html .asvt-intro-box .btn-text:after { border-color: var(--asvt-accent) !important; }

/* Dlaždice poisťovní v sklenenom paneli */
html .asvt-third-section .asvt-insurers-box .asvt-insurer {
    background: rgba(255, 255, 255, .08) !important;
    border-color: rgba(255, 255, 255, .16) !important;
}
html .asvt-third-section .asvt-insurers-box .asvt-insurer span { color: #fff !important; }
html .asvt-third-section .asvt-insurers-box .asvt-insurer i { color: var(--asvt-accent) !important; }
html .asvt-third-section .asvt-insurers-box .asvt-insurer:hover {
    background: rgba(255, 255, 255, .15) !important;
    border-color: var(--asvt-accent) !important;
}

/* Panely bez výplne — text si čitateľnosť nesie vlastným tieňom */
html .asvt-icon-box p,
html .asvt-intro-box p,
html .asvt-intro-box .asvt-check-list li,
html .asvt-calc-side .asvt-calc-usp li,
html .asvt-numbers-box .asvt-check-list li,
html .asvt-numbers-box p,
html .asvt-insurers-box p,
html .asvt-third-section .asvt-insurers-box .asvt-insurer span {
    text-shadow: 0 1px 6px rgba(0, 0, 0, .6);
}
html .asvt-third-section .asvt-insurers-box .asvt-insurer {
    background: rgba(255, 255, 255, .04) !important;
    border-color: rgba(255, 255, 255, .12) !important;
}

/* Pri slabšom prekrytí sekcie musia nadpisy niesť vlastný tieň */
.asvt-second-section .asvt-section-title, .asvt-third-section .asvt-section-title,
.asvt-second-section .asvt-process-title, .asvt-third-section .asvt-process-title,
.asvt-main-hero .asvt-section-title,
.asvt-second-section .asvt-section-lead, .asvt-third-section .asvt-section-lead,
.asvt-main-hero .asvt-section-lead,
.asvt-second-section .asvt-step h4, .asvt-second-section .asvt-step p,
.asvt-third-section h1, .asvt-third-section .col-md-4 > p,
.asvt-slide-caption, .asvt-slide-caption strong {
    text-shadow: 0 2px 10px rgba(0, 0, 0, .65), 0 1px 3px rgba(0, 0, 0, .5);
}

/* ═══════════════════════════════════════════════════════════════
   Karty služieb v úvodnom carouseli — rovnaké sklenené prevedenie
   ako ostatné panely nad fotografiou.
   ═══════════════════════════════════════════════════════════════ */
html .asvt-main-hero .asvt-slide-card,
html .asvt-service-slider .asvt-slide-card {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none !important;
}
html .asvt-service-slider .asvt-slide-card h3 {
    color: #fff !important;
    text-shadow: 0 1px 6px rgba(0, 0, 0, .6);
}
html .asvt-service-slider .asvt-slide-card p {
    color: rgba(255, 255, 255, .86) !important;
    text-shadow: 0 1px 6px rgba(0, 0, 0, .6);
}
html .asvt-service-slider .asvt-slide-card .asvt-service-meta {
    border-top-color: rgba(255, 255, 255, .18);
    color: rgba(255, 255, 255, .82);
}
html .asvt-service-slider .asvt-slide-card .asvt-service-meta span,
html .asvt-service-slider .asvt-slide-card .asvt-service-meta i,
html .asvt-service-slider .asvt-slide-card .asvt-price,
html .asvt-service-slider .asvt-slide-card .btn-text {
    color: var(--asvt-accent) !important;
    text-shadow: 0 1px 6px rgba(0, 0, 0, .6);
}
html .asvt-service-slider .asvt-slide-card .btn-text:after { border-color: var(--asvt-accent) !important; }

/* ═══════════════════════════════════════════════════════════════
   Kalkulačka na úvodnej stránke — sklenené prevedenie nad fotkou.
   Na samostatnej stránke /kalkulacka zostáva klasická svetlá karta.
   ═══════════════════════════════════════════════════════════════ */
html .asvt-second-section .asvt-calc {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    box-shadow: none !important;
}
html .asvt-second-section .asvt-calc-steps { background: rgba(255, 255, 255, .06) !important; border-bottom-color: rgba(255, 255, 255, .14); }
html .asvt-second-section .asvt-calc-step { color: rgba(255, 255, 255, .70) !important; }
html .asvt-second-section .asvt-calc-step span { background: rgba(255, 255, 255, .16) !important; color: #fff !important; }
html .asvt-second-section .asvt-calc-step.is-active {
    color: var(--asvt-accent) !important;
    background: transparent !important;
    border-bottom-color: var(--asvt-accent) !important;
}
html .asvt-second-section .asvt-calc-step.is-active span,
html .asvt-second-section .asvt-calc-step.is-done span { background: var(--asvt-accent) !important; color: #1b2436 !important; }

html .asvt-second-section .asvt-calc h4,
html .asvt-second-section .asvt-calc label { color: #fff !important; text-shadow: 0 1px 6px rgba(0,0,0,.55); }
html .asvt-second-section .asvt-calc-tile-inner {
    background: rgba(255, 255, 255, .07) !important;
    border-color: rgba(255, 255, 255, .18) !important;
}
html .asvt-second-section .asvt-calc-tile-inner strong { color: #fff !important; }
html .asvt-second-section .asvt-calc-tile-inner i { color: var(--asvt-accent) !important; }
html .asvt-second-section .asvt-calc-tile input:checked + .asvt-calc-tile-inner {
    background: rgba(255, 205, 0, .16) !important;
    border-color: var(--asvt-accent) !important;
}
html .asvt-second-section .asvt-calc .form-control {
    background: rgba(255, 255, 255, .10) !important;
    border-color: rgba(255, 255, 255, .20) !important;
    color: #fff !important;
}
html .asvt-second-section .asvt-calc .form-control::placeholder { color: rgba(255, 255, 255, .55); }
html .asvt-second-section .asvt-calc .asvt-select > i { color: rgba(255, 255, 255, .75); }
html .asvt-second-section .asvt-calc select option { background: #1b2436; color: #fff; }
html .asvt-second-section .asvt-calc .asvt-check span { color: rgba(255, 255, 255, .88) !important; }
html .asvt-second-section .asvt-calc .asvt-check span i { color: var(--asvt-accent) !important; }
html .asvt-second-section .asvt-calc-items li { color: rgba(255, 255, 255, .86) !important; border-bottom-color: rgba(255, 255, 255, .14); }
html .asvt-second-section .asvt-calc-items li span:last-child { color: #fff !important; }
html .asvt-second-section .asvt-calc-notes li,
html .asvt-second-section .asvt-calc-duration { color: rgba(255, 255, 255, .78) !important; }
html .asvt-second-section .asvt-calc-notes li::before,
html .asvt-second-section .asvt-calc-duration i { color: var(--asvt-accent) !important; }
html .asvt-second-section .asvt-calc-loading { color: rgba(255, 255, 255, .8) !important; }

/* Carousel je na hero prvý — nadpis pod ním dostane vlastný odstup */
.asvt-main-hero .asvt-service-slider { margin-bottom: 8px; }
.asvt-main-hero .col-md-10.col-center { padding-top: 6px; }

/* Obrázková časť karty má pevnú výšku, aby nadpisy sedeli na jednej linke */
.asvt-slide-card > .img-box,
.asvt-slide-card > .img-box > span {
    display: block; width: 100%; height: 200px; overflow: hidden;
}
.asvt-slide-card > .img-box img {
    width: 100%; height: 200px; object-fit: cover; aspect-ratio: auto;
}

/* ═══════════════════════════════════════════════════════════════
   Obrázky v kartách na hero sú priesvitné — splývajú s fotografiou
   v pozadí a pri prejdení myšou sa zvýraznia.
   ═══════════════════════════════════════════════════════════════ */
html .asvt-service-slider .asvt-slide-card > .img-box img {
    opacity: .55 !important;
    transition: opacity .35s var(--asvt-ease), transform .6s var(--asvt-ease);
}
html .asvt-service-slider .asvt-slide-card:hover > .img-box img { opacity: .92 !important; }
html .asvt-service-slider .asvt-slide-card > .img-box {
    background: rgba(255, 255, 255, .04);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

/* ═══════════════════════════════════════════════════════════════
   Ovládacie šípky sliderov na hero — sklenené, priesvitné,
   so žltým zvýraznením pri prejdení myšou.
   ═══════════════════════════════════════════════════════════════ */
html .asvt-main-hero .flex-direction-nav a,
html .asvt-second-section .flex-direction-nav a,
html .asvt-third-section .flex-direction-nav a {
    width: 58px; height: 58px; line-height: 58px;
    background: rgba(255, 255, 255, .08) !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    color: #fff !important;
    backdrop-filter: blur(10px) saturate(130%);
    -webkit-backdrop-filter: blur(10px) saturate(130%);
    box-shadow: 0 6px 22px rgba(0, 0, 0, .28) !important;
    opacity: 1 !important;
    text-align: center;
    transition: background-color .3s var(--asvt-ease), border-color .3s var(--asvt-ease),
                transform .3s var(--asvt-ease), box-shadow .3s var(--asvt-ease);
}
html .asvt-main-hero .flex-direction-nav a:before,
html .asvt-second-section .flex-direction-nav a:before,
html .asvt-third-section .flex-direction-nav a:before {
    color: #fff !important;
    font-size: 22px;
    line-height: 58px;
    transition: transform .3s var(--asvt-ease);
}
html .asvt-main-hero .flex-direction-nav a:hover,
html .asvt-second-section .flex-direction-nav a:hover,
html .asvt-third-section .flex-direction-nav a:hover {
    background: rgba(255, 205, 0, .90) !important;
    border-color: var(--asvt-accent) !important;
    box-shadow: 0 10px 30px rgba(255, 205, 0, .34) !important;
}
html .asvt-main-hero .flex-direction-nav a:hover:before,
html .asvt-second-section .flex-direction-nav a:hover:before,
html .asvt-third-section .flex-direction-nav a:hover:before { color: #1b2436 !important; }
html .asvt-main-hero .flex-direction-nav .flex-prev:hover:before { transform: translateX(-3px); }
html .asvt-main-hero .flex-direction-nav .flex-next:hover:before { transform: translateX(3px); }

/* Obe šípky sú vždy viditeľné, nie iba pri prejdení nad sliderom */
html .asvt-main-hero .flexslider:hover .flex-prev,
html .asvt-main-hero .flexslider:hover .flex-next,
html .asvt-main-hero .flex-prev,
html .asvt-main-hero .flex-next,
html .asvt-second-section .flex-prev, html .asvt-second-section .flex-next,
html .asvt-third-section .flex-prev, html .asvt-third-section .flex-next { opacity: 1 !important; }

/* Indikátory strán v rovnakom duchu */
html .asvt-main-hero .flex-control-paging li a,
html .asvt-third-section .flex-control-paging li a {
    width: 10px; height: 10px;
    background: rgba(255, 255, 255, .30) !important;
    border: 1px solid rgba(255, 255, 255, .45);
    box-shadow: none;
    transition: all .28s var(--asvt-ease);
}
html .asvt-main-hero .flex-control-paging li a.flex-active,
html .asvt-third-section .flex-control-paging li a.flex-active {
    background: var(--asvt-accent) !important;
    border-color: var(--asvt-accent);
    width: 26px;
}

/* Šípky patria dovnútra plochy slidera, inak ich orezáva okraj okna */
html .asvt-main-hero .flexslider.outer-navs .flex-direction-nav .flex-prev,
html .asvt-third-section .flexslider.outer-navs .flex-direction-nav .flex-prev {
    left: 8px !important; right: auto !important;
}
html .asvt-main-hero .flexslider.outer-navs .flex-direction-nav .flex-next,
html .asvt-third-section .flexslider.outer-navs .flex-direction-nav .flex-next {
    right: 8px !important; left: auto !important;
}
html .asvt-main-hero .flexslider, html .asvt-third-section .flexslider { position: relative; }
html .asvt-main-hero .flex-direction-nav, html .asvt-third-section .flex-direction-nav { z-index: 5; }

@media (max-width: 768px) {
    html .asvt-main-hero .flex-direction-nav a,
    html .asvt-second-section .flex-direction-nav a,
    html .asvt-third-section .flex-direction-nav a {
        width: 46px; height: 46px; line-height: 46px;
    }
    html .asvt-main-hero .flex-direction-nav a:before,
    html .asvt-second-section .flex-direction-nav a:before,
    html .asvt-third-section .flex-direction-nav a:before { line-height: 46px; font-size: 18px; }
}

/* ═══════════════════════════════════════════════════════════════
   Čitateľnosť kariet: sklenený dojem zostáva, ale textová časť
   dostane tmavú podložku, aby fotka v pozadí nerušila text.
   ═══════════════════════════════════════════════════════════════ */
html .asvt-service-slider .asvt-slide-card {
    background: transparent !important;
    border-color: rgba(255, 255, 255, .22) !important;
}
/* Jemná tmavá podložka len pod textom udrží písmo ostré aj bez tieňov */
html .asvt-service-slider .asvt-slide-card .advs-box-content {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
html .asvt-service-slider .asvt-slide-card h3 { text-shadow: 0 2px 10px rgba(0, 0, 0, .8); }
html .asvt-service-slider .asvt-slide-card p {
    color: rgba(255, 255, 255, .94) !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .85);
}
html .asvt-service-slider .asvt-slide-card .asvt-service-meta span,
html .asvt-service-slider .asvt-slide-card .asvt-price,
html .asvt-service-slider .asvt-slide-card .btn-text { text-shadow: 0 2px 8px rgba(0, 0, 0, .85); }

/* Šípky pri prejdení myšou len zosilnejú, nemenia rozmer */
html .asvt-main-hero .flex-direction-nav a,
html .asvt-second-section .flex-direction-nav a,
html .asvt-third-section .flex-direction-nav a { transform: none !important; }

/* ═══════════════════════════════════════════════════════════════
   Obrysové tlačidlá nad fotografiou — modrý text zo šablóny by
   na tmavom podklade zanikol, preto biely rám a biele písmo.
   ═══════════════════════════════════════════════════════════════ */
html .asvt-main-hero .btn.btn-border,
html .asvt-second-section .btn.btn-border,
html .asvt-third-section .btn.btn-border,
html .asvt-cta .btn.btn-border,
html .asvt-why .btn.btn-border {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .60) !important;
    background: rgba(255, 255, 255, .08) !important;
    backdrop-filter: blur(6px);
    text-shadow: 0 1px 6px rgba(0, 0, 0, .6);
}
html .asvt-main-hero .btn.btn-border:hover,
html .asvt-second-section .btn.btn-border:hover,
html .asvt-third-section .btn.btn-border:hover,
html .asvt-cta .btn.btn-border:hover,
html .asvt-why .btn.btn-border:hover {
    background: var(--asvt-accent) !important;
    border-color: var(--asvt-accent) !important;
    color: #1b2436 !important;
    text-shadow: none;
}
html .asvt-main-hero .btn.btn-border i,
html .asvt-second-section .btn.btn-border i,
html .asvt-third-section .btn.btn-border i,
html .asvt-cta .btn.btn-border i { color: inherit !important; }

/* Textové odkazy nad fotografiou */
html .asvt-main-hero .btn-text,
html .asvt-second-section .btn-text,
html .asvt-third-section .btn-text {
    color: var(--asvt-accent) !important;
    text-shadow: 0 1px 6px rgba(0, 0, 0, .7);
}

/* Nadpis nad carouselom */
.asvt-hero-headline { margin-bottom: 26px; }
.asvt-hero-headline .asvt-main-hero-title {
    margin: 0;
    font-size: clamp(20px, 2.55vw, 40px);
    white-space: nowrap;
    line-height: 1.25;
}
.asvt-main-hero-sub { margin-top: 4px; }
@media (max-width: 992px) {
    .asvt-hero-headline .asvt-main-hero-title { white-space: normal; font-size: clamp(20px, 4.4vw, 30px); }
    .asvt-hero-headline { margin-bottom: 18px; }
}

/* Šípky zarovnané k okraju obsahu, nie k okraju okna */
html .asvt-main-hero .flexslider.outer-navs .flex-direction-nav .flex-prev,
html .asvt-third-section .flexslider.outer-navs .flex-direction-nav .flex-prev { left: 14px !important; }
html .asvt-main-hero .flexslider.outer-navs .flex-direction-nav .flex-next,
html .asvt-third-section .flexslider.outer-navs .flex-direction-nav .flex-next { right: 14px !important; }
html .asvt-main-hero .flex-direction-nav a,
html .asvt-third-section .flex-direction-nav a { top: 50%; margin-top: -29px; }

/* ═══════════════════════════════════════════════════════════════
   Ovládanie carouselu pod obsahom — šípky ani indikátory
   neprekrývajú karty.
   ═══════════════════════════════════════════════════════════════ */
html .asvt-main-hero .flexslider.outer-navs,
html .asvt-third-section .flexslider.outer-navs { padding-bottom: 66px; }

html .asvt-main-hero .flex-direction-nav,
html .asvt-third-section .flex-direction-nav {
    position: absolute; left: 0; right: 0; bottom: 0;
    display: flex; justify-content: center; align-items: center; gap: 220px;
    height: 58px; pointer-events: none;
}
html .asvt-main-hero .flex-direction-nav li,
html .asvt-third-section .flex-direction-nav li { list-style: none; }
html .asvt-main-hero .flex-direction-nav a,
html .asvt-third-section .flex-direction-nav a {
    position: static !important;
    margin: 0 !important;
    pointer-events: auto;
    display: inline-flex; align-items: center; justify-content: center;
}
html .asvt-main-hero .flex-control-paging,
html .asvt-third-section .flex-control-paging {
    bottom: 22px !important;
    z-index: 6;
}
@media (max-width: 768px) {
    html .asvt-main-hero .flex-direction-nav,
    html .asvt-third-section .flex-direction-nav { gap: 150px; height: 46px; }
    html .asvt-main-hero .flexslider.outer-navs,
    html .asvt-third-section .flexslider.outer-navs { padding-bottom: 56px; }
}

/* Šípky pod carouselom potrebujú vlastné rozmery — šablóna ich
   pri absolútnom pozicovaní nastavovala inak. */
html .asvt-main-hero .flex-direction-nav a,
html .asvt-third-section .flex-direction-nav a,
html .asvt-second-section .flex-direction-nav a {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px;
    padding: 0 !important;
    font-size: 0;
    overflow: hidden;
    text-indent: 0 !important;
}
html .asvt-main-hero .flex-direction-nav a:before,
html .asvt-third-section .flex-direction-nav a:before,
html .asvt-second-section .flex-direction-nav a:before {
    font-family: FontAwesome;
    font-size: 20px !important;
    line-height: 1 !important;
    display: inline-block;
    margin: 0;
    text-indent: 0;
}
html .asvt-main-hero .flex-direction-nav .flex-prev:before,
html .asvt-third-section .flex-direction-nav .flex-prev:before,
html .asvt-second-section .flex-direction-nav .flex-prev:before { content: '\f053'; }
html .asvt-main-hero .flex-direction-nav .flex-next:before,
html .asvt-third-section .flex-direction-nav .flex-next:before,
html .asvt-second-section .flex-direction-nav .flex-next:before { content: '\f054'; }

/* Indikátory strán zarovnané do stredu medzi šípky */
html .asvt-main-hero .flex-control-paging,
html .asvt-third-section .flex-control-paging {
    bottom: 27px !important;
    display: flex; justify-content: center; align-items: center; gap: 8px;
    left: 0; right: 0;
}
html .asvt-main-hero .flex-control-paging li,
html .asvt-third-section .flex-control-paging li { margin: 0 !important; }

/* ═══════════════════════════════════════════════════════════════
   INTERAKTÍVNE PRVKY
   ═══════════════════════════════════════════════════════════════ */

/* ── Rýchla diagnostika na hero ──────────────────────────────── */
.asvt-qc {
    max-width: 940px; margin: 0 auto 30px;
    border: 1px solid rgba(255, 255, 255, .16);
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 28px 30px;
}
.asvt-qc-head { text-align: center; margin-bottom: 22px; }
.asvt-qc-kicker {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 11.5px; font-weight: 700; letter-spacing: .10em; text-transform: uppercase;
    color: var(--asvt-accent); margin-bottom: 10px;
}
.asvt-qc-head h2 {
    color: #fff !important; font-size: 24px; margin: 0 0 8px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .6);
}
.asvt-qc-head p {
    color: rgba(255, 255, 255, .82) !important; font-size: 14.5px; margin: 0;
    text-shadow: 0 1px 6px rgba(0, 0, 0, .6);
}

.asvt-qc-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.asvt-qc-option {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    padding: 20px 14px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .30);
    color: #fff; text-align: center; cursor: pointer;
    transition: transform .25s var(--asvt-ease), background-color .25s var(--asvt-ease),
                border-color .25s var(--asvt-ease), box-shadow .25s var(--asvt-ease);
}
.asvt-qc-option i { font-size: 26px; color: var(--asvt-accent); transition: transform .3s var(--asvt-ease); }
.asvt-qc-option strong { font-size: 14px; line-height: 1.35; }
.asvt-qc-option small { font-size: 11.5px; color: rgba(255, 255, 255, .62); line-height: 1.4; }
.asvt-qc-option:hover, .asvt-qc-option:focus-visible {
    background: rgba(255, 205, 0, .16);
    border-color: var(--asvt-accent);
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .28);
}
.asvt-qc-option:hover i { transform: scale(1.15) rotate(-6deg); }

.asvt-qc-result { animation: asvtFadeUp .35s var(--asvt-ease); }
.asvt-qc-back {
    background: transparent; border: 0; color: rgba(255, 255, 255, .72);
    font-size: 13px; padding: 0 0 14px; cursor: pointer;
}
.asvt-qc-back:hover { color: var(--asvt-accent); }
.asvt-qc-verdict {
    display: flex; align-items: center; gap: 12px;
    padding: 14px 18px; margin-bottom: 16px;
    border-left: 3px solid var(--asvt-accent);
    background: rgba(255, 255, 255, .07);
}
.asvt-qc-verdict i { font-size: 22px; color: var(--asvt-accent); }
.asvt-qc-verdict strong { color: #fff; font-size: 17px; }
.asvt-qc-good { border-left-color: #35b07a; }
.asvt-qc-good i { color: #35b07a; }
.asvt-qc-urgent { border-left-color: #e0704e; }
.asvt-qc-urgent i { color: #e0704e; }
.asvt-qc-text {
    color: rgba(255, 255, 255, .88) !important; font-size: 14.5px; line-height: 1.7;
    text-shadow: 0 1px 6px rgba(0, 0, 0, .5);
}
.asvt-qc-facts { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 14px 0; }
.asvt-qc-facts span { color: var(--asvt-accent); font-size: 14px; font-weight: 600; }
.asvt-qc-facts i { margin-right: 7px; }
.asvt-qc-tips { list-style: none; padding: 0; margin: 0 0 20px; }
.asvt-qc-tips li {
    color: rgba(255, 255, 255, .76); font-size: 13.5px; line-height: 1.6; padding: 5px 0;
}
.asvt-qc-tips i { color: var(--asvt-accent); margin-right: 9px; }
.asvt-qc-actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* ── Porovnanie pred a po ────────────────────────────────────── */
.asvt-compare-wrap { position: relative; }
.asvt-ba {
    position: relative; overflow: hidden; cursor: ew-resize;
    aspect-ratio: 16 / 9; width: 100%;
    box-shadow: var(--asvt-shadow-3);
    user-select: none; -webkit-user-select: none;
}
.asvt-ba-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.asvt-ba-before { clip-path: inset(0 50% 0 0); -webkit-clip-path: inset(0 50% 0 0); z-index: 2; }
.asvt-ba-after { z-index: 1; }
.asvt-ba-handle {
    position: absolute; top: 0; bottom: 0; left: 50%;
    width: 2px; margin-left: -1px; background: rgba(255, 255, 255, .92);
    pointer-events: none; z-index: 3;
}
.asvt-ba-knob {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 46px; height: 46px;
    background: rgba(255, 255, 255, .95); color: #1b2436;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .35);
    font-size: 16px;
}
.asvt-ba:focus-visible { outline: 3px solid var(--asvt-accent); outline-offset: 3px; }
.asvt-ba-label {
    position: absolute; top: 16px; z-index: 4;
    padding: 6px 14px; font-size: 11.5px; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase;
    background: rgba(10, 16, 28, .70); color: #fff;
    backdrop-filter: blur(6px);
}
.asvt-ba-label-before { left: 16px; }
.asvt-ba-label-after { right: 16px; }

.asvt-ba-hint {
    text-align: center; margin: 14px 0 0; font-size: 13px;
    color: rgba(255, 255, 255, .76);
    text-shadow: 0 1px 6px rgba(0, 0, 0, .55);
}
.asvt-ba-hint i { color: var(--asvt-accent); margin-right: 7px; }

/* ── Interaktívne kroky procesu ──────────────────────────────── */
.asvt-steps-track { position: relative; padding-top: 6px; }
.asvt-steps-line {
    position: absolute; top: 42px; left: 8%; right: 8%; height: 2px;
    background: rgba(255, 255, 255, .16); overflow: hidden;
}
.asvt-steps-line span {
    display: block; height: 100%; width: 20%;
    background: linear-gradient(90deg, var(--asvt-accent), rgba(255, 205, 0, .35));
    transition: width .5s var(--asvt-ease);
}
.asvt-step {
    cursor: pointer; border-radius: 0;
    transition: transform .3s var(--asvt-ease), opacity .3s var(--asvt-ease);
    opacity: .62;
}
.asvt-step.is-active { opacity: 1; transform: translateY(-6px); }
.asvt-step.is-done { opacity: .85; }
.asvt-step .asvt-step-num { transition: transform .3s var(--asvt-ease), background-color .3s var(--asvt-ease); }
.asvt-step.is-active .asvt-step-num { transform: scale(1.25); box-shadow: 0 6px 20px rgba(255, 205, 0, .40); }
.asvt-step.is-active > i { transform: translateY(-4px) scale(1.14); }
.asvt-step:focus-visible { outline: 2px solid var(--asvt-accent); outline-offset: 4px; }
.asvt-step p { transition: max-height .35s var(--asvt-ease), opacity .3s var(--asvt-ease); }

/* ── Vyhľadávanie v otázkach ─────────────────────────────────── */
.asvt-faq-search { position: relative; margin-bottom: 18px; }
.asvt-faq-search input {
    width: 100%; padding: 14px 110px 14px 46px;
    background: var(--asvt-bg-alt); border: 1px solid var(--asvt-border);
    color: var(--asvt-text); font-size: 14.5px;
    transition: border-color .22s var(--asvt-ease), box-shadow .22s var(--asvt-ease);
}
.asvt-faq-search input:focus {
    outline: none; border-color: var(--asvt-primary);
    box-shadow: 0 0 0 4px rgba(85, 132, 255, .16);
}
.asvt-faq-search > i {
    position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
    color: var(--asvt-text-soft);
}
.asvt-faq-count {
    position: absolute; right: 16px; top: 50%; transform: translateY(-50%);
    font-size: 12.5px; color: var(--asvt-primary-ink); font-weight: 600;
}

/* ── Ukazovateľ prečítanej časti ─────────────────────────────── */
.asvt-scroll-progress {
    position: fixed; top: 0; left: 0; right: 0; height: 3px;
    z-index: 4100; pointer-events: none; background: transparent;
}
.asvt-scroll-progress span {
    display: block; height: 100%; width: 0;
    background: linear-gradient(90deg, var(--asvt-primary), var(--asvt-accent));
    box-shadow: 0 0 12px rgba(255, 205, 0, .45);
    transition: width .1s linear;
}

/* ── Postupné odkrývanie pri scrolle ─────────────────────────── */
.asvt-reveal {
    opacity: 0; transform: translateY(24px);
    transition: opacity .6s var(--asvt-ease), transform .6s var(--asvt-ease);
}
.asvt-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    .asvt-reveal { opacity: 1 !important; transform: none !important; }
}

/* ── Spodná lišta akcií na mobile ────────────────────────────── */
.asvt-actionbar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 2600;
    display: flex; align-items: stretch;
    background: var(--asvt-bg-panel);
    border-top: 1px solid var(--asvt-border);
    box-shadow: 0 -6px 24px rgba(16, 24, 40, .18);
    padding-bottom: env(safe-area-inset-bottom);
    transform: translateY(0);
    transition: transform .35s var(--asvt-ease);
}
.asvt-actionbar.is-hidden { transform: translateY(110%); }
.asvt-actionbar a {
    flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 3px; padding: 11px 6px;
    color: var(--asvt-text); font-size: 11.5px; font-weight: 600;
    border-right: 1px solid var(--asvt-border);
}
.asvt-actionbar a:last-child { border-right: 0; }
.asvt-actionbar a i { font-size: 17px; color: var(--asvt-primary-ink); }
.asvt-actionbar a.is-primary { background: var(--asvt-primary); color: var(--asvt-on-primary); }
.asvt-actionbar a.is-primary i { color: var(--asvt-on-primary); }
body.has-actionbar { padding-bottom: 62px; }
body.has-actionbar .asvt-callback-widget { bottom: 74px; }

@media (max-width: 768px) {
    .asvt-qc { padding: 22px 18px; margin-bottom: 22px; }
    .asvt-qc-head h2 { font-size: 20px; }
    .asvt-qc-options { grid-template-columns: 1fr 1fr; gap: 10px; }
    .asvt-qc-option { padding: 16px 10px; }
    .asvt-qc-option strong { font-size: 12.5px; }
    .asvt-qc-option small { display: none; }
    .asvt-qc-actions .btn { width: 100%; text-align: center; }
    .asvt-ba-knob { width: 40px; height: 40px; }
    .asvt-steps-line { display: none; }
    .asvt-step { opacity: 1; }
}
@media (max-width: 420px) {
    .asvt-qc-options { grid-template-columns: 1fr; }
}

/* Vybraná možnosť diagnostiky zostáva zvýraznená */
.asvt-qc-option.is-selected {
    background: rgba(255, 205, 0, .20) !important;
    border-color: var(--asvt-accent) !important;
    box-shadow: 0 0 0 2px rgba(255, 205, 0, .35) inset;
}
.asvt-qc.is-answered .asvt-qc-options { margin-bottom: 4px; }
.asvt-qc-back { margin-top: 4px; }
[hidden] { display: none !important; }

/* Hlavička a horná lišta ležia na fotke — kým návštevník nezačne
   scrollovať, sú priehľadné, potom stmavnú na plnú farbu pozadia. */
body.page-home .asvt-topbar {
    background: rgba(10, 16, 28, .40) !important;
    border-bottom-color: rgba(255, 255, 255, .10) !important;
    position: relative; z-index: 1002;
}
body.page-home .asvt-topbar span,
body.page-home .asvt-topbar a { color: rgba(255, 255, 255, .82) !important; }
body.page-home .asvt-topbar i { color: var(--asvt-accent) !important; }

body.page-home .asvt-header .navbar-fixed-top,
body.page-home .asvt-header .navbar-main,
body.page-home .asvt-header .navbar-default,
body.page-home .asvt-header .navbar {
    background-color: rgba(10, 16, 28, .34) !important;
    border-bottom-color: rgba(255, 255, 255, .10) !important;
    backdrop-filter: blur(10px) saturate(120%);
    -webkit-backdrop-filter: blur(10px) saturate(120%);
}
body.page-home .asvt-header .navbar-nav > li > a { color: #fff !important; }
body.page-home .asvt-header .navbar-nav > li:hover > a,
body.page-home .asvt-header .navbar-nav > li.active > a { color: var(--asvt-accent) !important; }
body.page-home .asvt-header .asvt-switch { color: #fff !important; border-color: rgba(255, 255, 255, .35) !important; }
body.page-home .asvt-header .asvt-switch i { color: #fff !important; }
body.page-home .asvt-logo-light { display: none !important; }
body.page-home .asvt-logo-dark { display: block !important; }

/* Po scrollnutí sa hlavička vráti k plnej farbe témy */
body.page-home .asvt-header.scroll-css .navbar-fixed-top,
body.page-home .asvt-header.scroll-css .navbar-main,
body.page-home .asvt-header.scroll-css .navbar-default,
body.page-home .asvt-header.scroll-css .navbar {
    background-color: var(--asvt-bg) !important;
    border-bottom-color: var(--asvt-border) !important;
}
body.page-home .asvt-header.scroll-css .navbar-nav > li > a { color: var(--asvt-text) !important; }
body.page-home .asvt-header.scroll-css .asvt-switch { color: var(--asvt-text) !important; border-color: var(--asvt-border-strong) !important; }
body.page-home .asvt-header.scroll-css .asvt-switch i { color: var(--asvt-text) !important; }
html:not([data-theme="dark"]) body.page-home .asvt-header.scroll-css .asvt-logo-light { display: block !important; }
html:not([data-theme="dark"]) body.page-home .asvt-header.scroll-css .asvt-logo-dark { display: none !important; }

@media (max-width: 992px) {
    .asvt-main-hero { min-height: auto; }
}

/* Na úvodnej stránke musia byť priehľadné aj vnútorné vrstvy navbaru,
   inak zostane pod menu biely pás zo šablóny. */
body.page-home .asvt-header .navbar-collapse,
body.page-home .asvt-header .nav.navbar-nav,
body.page-home .asvt-header .navbar-right,
body.page-home .asvt-header .navbar-header,
body.page-home .asvt-header .container,
body.page-home .asvt-header .navbar-nav > li,
body.page-home .asvt-header .navbar-nav > li > a { background-color: transparent !important; }

body.page-home .asvt-header.scroll-css .navbar-collapse,
body.page-home .asvt-header.scroll-css .nav.navbar-nav,
body.page-home .asvt-header.scroll-css .navbar-right,
body.page-home .asvt-header.scroll-css .navbar-header { background-color: transparent !important; }

/* Rozbaľovacie ponuky zostávajú plné, aby boli čitateľné */
body.page-home .asvt-header .dropdown-menu,
body.page-home .asvt-header .mega-menu.dropdown-menu {
    background-color: var(--asvt-bg-panel) !important;
    backdrop-filter: none;
}
body.page-home .asvt-header .dropdown-menu > li > a { color: var(--asvt-text) !important; }

/* Tlačidlo objednávky si drží plnú farbu aj na priehľadnej hlavičke */
body.page-home .asvt-header .asvt-nav-cta > a,
body.page-home .asvt-header .asvt-btn-book {
    background-color: var(--asvt-primary) !important;
    color: var(--asvt-on-primary) !important;
    border-color: var(--asvt-primary) !important;
}
body.page-home .asvt-header .asvt-btn-book i,
body.page-home .asvt-header .asvt-btn-book span { color: var(--asvt-on-primary) !important; }
body.page-home .asvt-header .asvt-btn-book:hover {
    background-color: var(--asvt-primary-dark) !important;
    border-color: var(--asvt-primary-dark) !important;
}

/* ═══════════════════════════════════════════════════════════════
   ZAOBLENIE A TIENE V DUCHU macOS
   Mäkké, viacvrstvové tiene a zaoblené rohy na obrázkoch,
   tlačidlách aj kartách.
   ═══════════════════════════════════════════════════════════════ */

/* ── Tlačidlá ────────────────────────────────────────────────── */
html .btn,
html .circle-button,
html .btn.circle-button,
html .asvt-btn-primary,
html .asvt-btn-book,
html .asvt-btn-ghost,
html .asvt-mobile-cta,
html .asvt-callback-trigger,
html button.btn,
html .asvt-submit {
    border-radius: var(--asvt-radius-pill) !important;
}
html .asvt-switch,
html .asvt-qc-option,
html .asvt-calc-tile-inner,
html .asvt-day,
html .asvt-time,
html .asvt-mobile-close,
html .navbar-toggle,
html .form-control,
html .asvt-select select,
html .asvt-faq-search input,
html .asvt-challenge-q {
    border-radius: var(--asvt-radius-sm) !important;
}
html .asvt-chip,
html .asvt-badge,
html .asvt-version,
html .asvt-qc-kicker,
html .asvt-ba-label { border-radius: var(--asvt-radius-pill) !important; }

/* ── Obrázky: zaoblenie + tieň ako pri oknách v macOS ────────── */
html .img-box,
html .img-box img,
html .asvt-slide-card > .img-box,
html .asvt-slide-card > .img-box img,
html .asvt-post-card > .img-box,
html .asvt-post-card > .img-box img,
html .asvt-gallery-card > .img-box,
html .asvt-gallery-card .img-box img,
html .asvt-team-photo,
html .asvt-team-photo img,
html .asvt-round-img,
html .asvt-article-hero,
html .asvt-article-hero img,
html .asvt-sidebar-posts img,
html .asvt-ba,
html .asvt-ba-img,
html .asvt-map,
html .asvt-map-static,
html .asvt-map iframe,
html .asvt-calc-illustration {
    border-radius: var(--asvt-radius) !important;
}
/* horný okraj karty kopíruje jej zaoblenie, spodok zostáva rovný */
html .asvt-slide-card > .img-box,
html .asvt-slide-card > .img-box img,
html .asvt-post-card > .img-box,
html .asvt-post-card > .img-box img,
html .asvt-gallery-card > .img-box,
html .asvt-gallery-card .img-box img,
html .asvt-team-photo,
html .asvt-team-photo img {
    border-radius: var(--asvt-radius) var(--asvt-radius) 0 0 !important;
}

html .img-box,
html .asvt-round-img,
html .asvt-ba,
html .asvt-article-hero,
html .asvt-calc-illustration,
html .asvt-map {
    box-shadow:
        0 1px 2px rgba(16, 24, 40, .06),
        0 4px 10px rgba(16, 24, 40, .09),
        0 18px 40px rgba(16, 24, 40, .16) !important;
}
html .img-box:hover,
html .asvt-round-img:hover {
    box-shadow:
        0 2px 4px rgba(16, 24, 40, .08),
        0 8px 18px rgba(16, 24, 40, .12),
        0 28px 60px rgba(16, 24, 40, .22) !important;
}
html[data-theme="dark"] .img-box,
html[data-theme="dark"] .asvt-round-img,
html[data-theme="dark"] .asvt-ba,
html[data-theme="dark"] .asvt-article-hero,
html[data-theme="dark"] .asvt-map {
    box-shadow:
        0 1px 2px rgba(0, 0, 0, .34),
        0 6px 14px rgba(0, 0, 0, .40),
        0 22px 48px rgba(0, 0, 0, .52) !important;
}

/* ── Karty, panely a ponuky ──────────────────────────────────── */
html .boxed-inverse,
html .advs-box,
html .asvt-icon-box,
html .asvt-qc,
html .asvt-calc,
html .asvt-slide-card,
html .asvt-post-card,
html .asvt-gallery-card,
html .asvt-team-card,
html .asvt-review,
html .asvt-price-table,
html .asvt-cookie-table,
html .asvt-insurer,
html .asvt-callback-box,
html .asvt-mobile-panel,
html .alert,
html .accordion-list .list-group-item,
html .dropdown-menu,
html .mega-menu.dropdown-menu,
html .asvt-maintenance-card,
html .asvt-maintenance-phone {
    border-radius: var(--asvt-radius) !important;
}
html .asvt-qc, html .asvt-calc, html .asvt-mobile-panel,
html .asvt-callback-box, html .mega-menu.dropdown-menu,
html .asvt-maintenance-card { border-radius: var(--asvt-radius-lg) !important; }

/* Kruhové prvky zostávajú kruhové */
html i.circle,
html .social-group i.circle,
html i.icon.circle,
html .asvt-step-num,
html .asvt-ba-knob,
html .flex-direction-nav a,
html .timeline-badge,
html .scroll-top { border-radius: 50% !important; }
html .flex-control-paging li a { border-radius: var(--asvt-radius-pill) !important; }

/* Zaoblenie sa nesmie stratiť pod obsahom karty */
html .asvt-slide-card, html .asvt-post-card,
html .asvt-gallery-card, html .asvt-team-card { overflow: hidden; }

/* Karty vnútri carouselu sa nesmú skrývať — slider ich klonuje */
.flexslider .asvt-reveal { opacity: 1 !important; transform: none !important; }

/* Tlačidlo objednávky v hlavičke musí zostať farebné a čitateľné */
html body .asvt-header .asvt-nav-cta > a.asvt-btn-book {
    background: var(--asvt-primary) !important;
    border-color: var(--asvt-primary) !important;
    color: var(--asvt-on-primary) !important;
    /* tesne okolo textu — bez zbytočného priestoru po stranách */
    padding: 8px 12px !important;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: var(--asvt-shadow-glow);
}
html body .asvt-header .asvt-nav-cta > a.asvt-btn-book { min-width: 0 !important; width: auto !important; }
html body .asvt-header .asvt-nav-cta > a.asvt-btn-book i,
html body .asvt-header .asvt-nav-cta > a.asvt-btn-book span {
    color: var(--asvt-on-primary) !important;
    display: inline !important;
    font-size: 12.5px;
}
html body .asvt-header .asvt-nav-cta > a.asvt-btn-book i { margin-right: 5px; }
html body .asvt-header .asvt-nav-cta { padding-left: 4px; }

/* ═══════════════════════════════════════════════════════════════
   Rámovanie úvodnej sekcie — sivá linka odsadená 5 px od okrajov
   ═══════════════════════════════════════════════════════════════ */
.asvt-main-hero::after {
    content: '';
    position: absolute;
    top: 5px; right: 5px; bottom: 5px; left: 5px;
    border: 3px solid rgba(190, 198, 212, .55);
    border-radius: var(--asvt-radius-lg);
    pointer-events: none;
    z-index: 3;
}
html[data-theme="dark"] .asvt-main-hero::after {
    border-color: rgba(150, 162, 184, .38);
}
@media (max-width: 768px) {
    .asvt-main-hero::after { border-width: 2px; top: 4px; right: 4px; bottom: 4px; left: 4px; }
}

/* ═══════════════════════════════════════════════════════════════
   Čitateľnosť textu na svetlej časti hero fotky
   ═══════════════════════════════════════════════════════════════ */
.asvt-main-hero-sub {
    display: inline-block;
    max-width: 900px;
    padding: 14px 26px;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-radius: var(--asvt-radius);
    color: #fff !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .75);
}
.asvt-main-hero-title {
    text-shadow: 0 2px 8px rgba(0, 0, 0, .80), 0 6px 30px rgba(0, 0, 0, .60);
}
.asvt-hero-trust li {
    background: transparent;
    padding: 7px 0;
    text-shadow: 0 1px 6px rgba(0, 0, 0, .7);
}
.asvt-badge { background: transparent !important; backdrop-filter: none !important; }

@media (max-width: 768px) {
    .asvt-main-hero-sub { padding: 12px 18px; }
    .asvt-hero-trust li { padding: 6px 12px; font-size: 12.5px; }
}

/* Text v priesvitnej diagnostike si čitateľnosť nesie tieňom */
.asvt-qc-option small { color: rgba(255, 255, 255, .92); }

/* Bez akejkoľvek plochy nesie čitateľnosť výhradne tieň písma */
/* Ostrý kontaktný tieň bez rozptylu — písmo zostáva číre */
.asvt-main-hero-sub,
.asvt-qc-head h2, .asvt-qc-head p, .asvt-qc-kicker,
.asvt-qc-option strong, .asvt-qc-option small,
.asvt-hero-trust li {
    text-shadow: 0 1px 1px rgba(0, 0, 0, .95), 0 0 2px rgba(0, 0, 0, .85);
}
.asvt-qc-option:hover, .asvt-qc-option:focus-visible {
    background: rgba(255, 205, 0, .14) !important;
}

/* Odznak nad nadpisom — len obrys, bez výplne */
html .asvt-badge {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-color: rgba(255, 205, 0, .60) !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .9), 0 2px 12px rgba(0, 0, 0, .75);
}

/* ═══════════════════════════════════════════════════════════════
   Ostrejšie písmo na priesvitnom podklade — pevnejší rez,
   presnejšie vykresľovanie a viacvrstvový tieň namiesto plochy.
   ═══════════════════════════════════════════════════════════════ */
html .asvt-service-slider .asvt-slide-card h3 {
    color: #fff !important;
    font-weight: 700;
    letter-spacing: .015em;
    /* ostrý kontaktný tieň bez rozptylu — písmo zostáva čisté */
    text-shadow: 0 1px 1px rgba(0, 0, 0, .95), 0 0 1px rgba(0, 0, 0, .9);
}
html .asvt-service-slider .asvt-slide-card p {
    color: #fff !important;
    font-weight: 500;
    letter-spacing: .008em;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .95), 0 0 1px rgba(0, 0, 0, .85);
}
html .asvt-service-slider .asvt-slide-card .asvt-service-meta {
    border-top-color: rgba(255, 255, 255, .26);
}
html .asvt-service-slider .asvt-slide-card .asvt-service-meta span,
html .asvt-service-slider .asvt-slide-card .asvt-price,
html .asvt-service-slider .asvt-slide-card .btn-text {
    font-weight: 700;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .95), 0 0 1px rgba(0, 0, 0, .9);
}

/* Presnejšie vykresľovanie písma nad fotografiou */
.asvt-main-hero, .asvt-second-section, .asvt-third-section,
.asvt-main-hero *, .asvt-second-section *, .asvt-third-section * {
    -webkit-font-smoothing: subpixel-antialiased;
    text-rendering: optimizeLegibility;
}
.asvt-main-hero-title, .asvt-qc-head h2,
.asvt-service-slider .asvt-slide-card h3 { -webkit-font-smoothing: antialiased; }

/* Ostré vykresľovanie textu v kartách nad fotografiou */
html .asvt-service-slider .asvt-slide-card,
html .asvt-service-slider .asvt-slide-card * {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* ═══════════════════════════════════════════════════════════════
   Text rýchlej diagnostiky — plne biely a ostro vykreslený
   ═══════════════════════════════════════════════════════════════ */
html .asvt-qc-head h2 {
    color: #fff !important;
    font-weight: 700;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .95), 0 0 2px rgba(0, 0, 0, .9);
}
html .asvt-qc-head p {
    color: #fff !important;
    font-weight: 500;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .95), 0 0 2px rgba(0, 0, 0, .85);
}
html .asvt-qc-option strong { color: #fff !important; font-weight: 700; }
html .asvt-qc-option small { color: rgba(255, 255, 255, .94) !important; font-weight: 500; }
html .asvt-qc-kicker { color: var(--asvt-accent) !important; font-weight: 800; }
html .asvt-main-hero-sub { color: #fff !important; font-weight: 500; }
html .asvt-hero-trust li { color: #fff !important; font-weight: 500; }

html .asvt-qc, html .asvt-qc *,
html .asvt-main-hero-sub, html .asvt-hero-trust li {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Bez podložky nesie čitateľnosť len ostrý obrys písma */
html .asvt-service-slider .asvt-slide-card h3,
html .asvt-service-slider .asvt-slide-card p,
html .asvt-service-slider .asvt-slide-card .asvt-service-meta span,
html .asvt-service-slider .asvt-slide-card .asvt-price,
html .asvt-service-slider .asvt-slide-card .btn-text {
    text-shadow:
         1px  1px 0 rgba(0, 0, 0, .55),
        -1px  1px 0 rgba(0, 0, 0, .55),
         1px -1px 0 rgba(0, 0, 0, .55),
        -1px -1px 0 rgba(0, 0, 0, .55),
         0 2px 6px rgba(0, 0, 0, .55);
}
html .asvt-service-slider .asvt-slide-card .asvt-service-meta { border-top-color: rgba(255, 255, 255, .32); }

/* ═══════════════════════════════════════════════════════════════
   Hero bez fotografie — na svetlom podklade musí byť text tmavý
   ═══════════════════════════════════════════════════════════════ */
html .asvt-main-hero-title { color: var(--asvt-text) !important; text-shadow: none !important; }
html .asvt-main-hero-sub { color: var(--asvt-text-soft) !important; text-shadow: none !important; }
html .asvt-hero-trust li { color: var(--asvt-text-soft) !important; text-shadow: none !important; }
html .asvt-hero-trust li i { color: var(--asvt-primary-ink) !important; }
html .asvt-badge {
    color: var(--asvt-primary-ink) !important;
    border-color: rgba(85, 132, 255, .45) !important;
    text-shadow: none !important;
}
html .asvt-badge i, html .asvt-badge span { color: var(--asvt-primary-ink) !important; }

/* Rýchla diagnostika */
html .asvt-qc { border-color: var(--asvt-border) !important; }
html .asvt-qc-head h2 { color: var(--asvt-text) !important; text-shadow: none !important; }
html .asvt-qc-head p { color: var(--asvt-text-soft) !important; text-shadow: none !important; }
html .asvt-qc-kicker { color: var(--asvt-primary-ink) !important; text-shadow: none !important; }
html .asvt-qc-option {
    border-color: var(--asvt-border) !important;
    background: var(--asvt-bg-panel) !important;
    box-shadow: var(--asvt-shadow-1);
}
html .asvt-qc-option strong { color: var(--asvt-text) !important; text-shadow: none !important; }
html .asvt-qc-option small { color: var(--asvt-text-soft) !important; text-shadow: none !important; }
html .asvt-qc-option i { color: var(--asvt-primary-ink) !important; }
html .asvt-qc-option:hover, html .asvt-qc-option:focus-visible {
    background: var(--asvt-bg-alt) !important;
    border-color: var(--asvt-primary) !important;
}
html .asvt-qc-option.is-selected {
    background: rgba(85, 132, 255, .10) !important;
    border-color: var(--asvt-primary) !important;
}
html .asvt-qc-verdict { background: var(--asvt-bg-alt); }
html .asvt-qc-verdict strong { color: var(--asvt-text) !important; }
html .asvt-qc-text { color: var(--asvt-text-soft) !important; text-shadow: none !important; }
html .asvt-qc-facts span { color: var(--asvt-primary-ink) !important; }
html .asvt-qc-tips li { color: var(--asvt-text-soft) !important; }
html .asvt-qc-tips i { color: var(--asvt-primary-ink) !important; }
html .asvt-qc-back { color: var(--asvt-text-soft) !important; }

/* Karty služieb na svetlom podklade */
html .asvt-service-slider .asvt-slide-card {
    background: var(--asvt-bg-panel) !important;
    border-color: var(--asvt-border) !important;
    box-shadow: var(--asvt-shadow-2) !important;
}
html .asvt-service-slider .asvt-slide-card h3 { color: var(--asvt-text) !important; text-shadow: none !important; }
html .asvt-service-slider .asvt-slide-card p { color: var(--asvt-text-soft) !important; text-shadow: none !important; font-weight: 400; }
html .asvt-service-slider .asvt-slide-card .asvt-service-meta { border-top-color: var(--asvt-border); }
html .asvt-service-slider .asvt-slide-card .asvt-service-meta span,
html .asvt-service-slider .asvt-slide-card .asvt-price,
html .asvt-service-slider .asvt-slide-card .btn-text {
    color: var(--asvt-primary-ink) !important; text-shadow: none !important; font-weight: 600;
}
html .asvt-service-slider .asvt-slide-card > .img-box img { opacity: 1 !important; }

/* Hlavička nad svetlým podkladom */
body.page-home .asvt-topbar { background: var(--asvt-bg-alt) !important; border-bottom-color: var(--asvt-border) !important; }
body.page-home .asvt-topbar span, body.page-home .asvt-topbar a { color: var(--asvt-text-soft) !important; }
body.page-home .asvt-topbar i { color: var(--asvt-primary-ink) !important; }
body.page-home .asvt-header .navbar-fixed-top,
body.page-home .asvt-header .navbar-main,
body.page-home .asvt-header .navbar-default,
body.page-home .asvt-header .navbar {
    background-color: var(--asvt-bg) !important;
    border-bottom-color: var(--asvt-border) !important;
    backdrop-filter: none;
}
body.page-home .asvt-header .navbar-nav > li > a { color: var(--asvt-text) !important; }
body.page-home .asvt-header .asvt-switch { color: var(--asvt-text) !important; border-color: var(--asvt-border-strong) !important; }
body.page-home .asvt-header .asvt-switch i { color: var(--asvt-text) !important; }
html:not([data-theme="dark"]) body.page-home .asvt-logo-light { display: block !important; }
html:not([data-theme="dark"]) body.page-home .asvt-logo-dark { display: none !important; }

/* Ovládanie carouselu na svetlom podklade */
html .asvt-main-hero .flex-direction-nav a {
    background: var(--asvt-bg-panel) !important;
    border-color: var(--asvt-border-strong) !important;
    color: var(--asvt-text) !important;
    box-shadow: var(--asvt-shadow-2) !important;
}
html .asvt-main-hero .flex-direction-nav a:before { color: var(--asvt-text) !important; }
html .asvt-main-hero .flex-direction-nav a:hover { background: var(--asvt-primary) !important; border-color: var(--asvt-primary) !important; }
html .asvt-main-hero .flex-direction-nav a:hover:before { color: #fff !important; }
html .asvt-main-hero .flex-control-paging li a { background: rgba(120, 130, 155, .35) !important; border-color: rgba(120, 130, 155, .45); }
html .asvt-main-hero .flex-control-paging li a.flex-active { background: var(--asvt-primary) !important; border-color: var(--asvt-primary); }

/* Rám okolo hero */
.asvt-main-hero::after { border-color: rgba(160, 170, 188, .40); }

/* ═══════════════════════════════════════════════════════════════
   ÚVODNÁ SCÉNA
   Nosným motívom je prasklina, ktorá sa pri načítaní vykreslí
   a po spustení diagnostiky sa „zacelí". Pozadie tvorí svetlo,
   nie fotografia — obsah tak zostáva čitateľný v oboch témach.
   ═══════════════════════════════════════════════════════════════ */
.asvt-stage {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin-top: calc(-1 * (var(--asvt-header-h) + var(--asvt-topbar-h)));
    padding: calc(var(--asvt-header-h) + var(--asvt-topbar-h) + 64px) 0 96px;
    min-height: 100vh;
    display: flex; align-items: center;
    background:
        radial-gradient(90% 70% at 12% 8%, #ffffff 0%, rgba(255, 255, 255, 0) 60%),
        linear-gradient(158deg, #f7f9fc 0%, #eef1f7 42%, #e4e9f2 100%);
}
html[data-theme="dark"] .asvt-stage {
    background:
        radial-gradient(90% 70% at 12% 8%, rgba(70, 84, 112, .45) 0%, rgba(70, 84, 112, 0) 60%),
        linear-gradient(158deg, #171e2c 0%, #131926 45%, #0e131d 100%);
}

/* ── Pozadie: svetlá, mriežka, prasklina ─────────────────────── */
.asvt-stage-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }

.asvt-stage-glow {
    position: absolute; border-radius: 50%;
    filter: blur(90px); opacity: .55;
}
.asvt-stage-glow-1 {
    width: 620px; height: 620px; top: -180px; right: -120px;
    background: radial-gradient(circle, rgba(85, 132, 255, .55), rgba(85, 132, 255, 0) 70%);
    animation: asvtDrift 18s ease-in-out infinite;
}
.asvt-stage-glow-2 {
    width: 520px; height: 520px; bottom: -200px; left: -140px;
    background: radial-gradient(circle, rgba(255, 205, 0, .45), rgba(255, 205, 0, 0) 70%);
    animation: asvtDrift 22s ease-in-out infinite reverse;
}
@keyframes asvtDrift {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50%      { transform: translate(-40px, 36px) scale(1.08); }
}

.asvt-stage-grid {
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(120, 138, 170, .10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120, 138, 170, .10) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(80% 70% at 50% 40%, #000 0%, transparent 78%);
    -webkit-mask-image: radial-gradient(80% 70% at 50% 40%, #000 0%, transparent 78%);
}
html[data-theme="dark"] .asvt-stage-grid {
    background-image:
        linear-gradient(rgba(150, 168, 200, .07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(150, 168, 200, .07) 1px, transparent 1px);
}

/* Prasklina */
.asvt-crack {
    position: absolute; inset: 0; width: 100%; height: 100%;
    opacity: .42;
    transition: opacity 1.1s var(--asvt-ease), filter 1.1s var(--asvt-ease);
    /* vľavo, kde je text, prasklina postupne mizne */
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.25) 26%, #000 52%, #000 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.25) 26%, #000 52%, #000 100%);
}
html[data-theme="dark"] .asvt-crack { opacity: .55; }
.asvt-crack-line {
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: asvtCrackDraw 1.5s cubic-bezier(.2, .8, .3, 1) forwards;
}
.asvt-crack-line:nth-child(2) { animation-delay: .10s; }
.asvt-crack-line:nth-child(3) { animation-delay: .16s; }
.asvt-crack-line:nth-child(4) { animation-delay: .22s; }
.asvt-crack-line:nth-child(5) { animation-delay: .28s; }
.asvt-crack-line:nth-child(6) { animation-delay: .34s; }
.asvt-crack-line:nth-child(7) { animation-delay: .40s; }
.asvt-crack-line:nth-child(8) { animation-delay: .46s; }
.asvt-crack-line:nth-child(n+9) { animation-delay: .58s; }
@keyframes asvtCrackDraw { to { stroke-dashoffset: 0; } }

.asvt-crack-core { animation: asvtCorePulse 3.4s ease-in-out infinite; transform-origin: 600px 330px; }
.asvt-crack-ring { opacity: 0; transform-origin: 600px 330px; animation: asvtRingOut 3.4s ease-out infinite; }
@keyframes asvtCorePulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.22); } }
@keyframes asvtRingOut {
    0%   { opacity: .8; transform: scale(1); }
    70%  { opacity: 0;  transform: scale(4.4); }
    100% { opacity: 0;  transform: scale(4.4); }
}

/* Po spustení diagnostiky prasklina ustúpi — sklo je „opravené" */
.asvt-stage.is-solved .asvt-crack { opacity: .10; filter: blur(2px); }

/* ── Rozvrhnutie ─────────────────────────────────────────────── */
.asvt-stage-inner { position: relative; z-index: 2; width: 100%; }

/* ── Ľavý stĺpec ─────────────────────────────────────────────── */
.asvt-stage-badge {
    display: inline-flex; align-items: center; gap: 9px;
    padding: 8px 16px;
    border: 1px solid rgba(85, 132, 255, .38);
    border-radius: var(--asvt-radius-pill);
    background: rgba(85, 132, 255, .08);
    color: var(--asvt-primary-ink) !important;
    font-size: 12.5px; font-weight: 700; letter-spacing: .04em;
    margin-bottom: 26px;
}
.asvt-stage-badge i { color: var(--asvt-accent) !important; }
html[data-theme="dark"] .asvt-stage-badge { background: rgba(85, 132, 255, .12); }

.asvt-stage-title {
    margin: 0 0 22px;
    font-size: clamp(34px, 4.4vw, 60px);
    line-height: 1.06;
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--asvt-text) !important;
}
.asvt-stage-line { display: block; }
.asvt-stage-line-accent {
    background: linear-gradient(96deg, var(--asvt-primary) 0%, var(--asvt-primary-dark) 45%, #8a6b00 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
}
html[data-theme="dark"] .asvt-stage-line-accent {
    background: linear-gradient(96deg, #7fa2ff 0%, #a9c0ff 50%, var(--asvt-accent) 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
}

.asvt-stage-lead {
    max-width: 520px; margin: 0 0 32px;
    font-size: 16.5px; line-height: 1.72;
    color: var(--asvt-text-soft) !important;
}

.asvt-stage-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: 40px; }

.asvt-stage-cta {
    display: inline-flex; align-items: center; gap: 12px;
    padding: 17px 30px;
    border-radius: var(--asvt-radius-pill);
    background: linear-gradient(120deg, var(--asvt-primary), var(--asvt-primary-dark));
    color: #fff !important; font-weight: 700; font-size: 15px;
    box-shadow: 0 10px 30px rgba(85, 132, 255, .34);
    position: relative; overflow: hidden;
    transition: transform .28s var(--asvt-ease), box-shadow .28s var(--asvt-ease);
}
.asvt-stage-cta i { transition: transform .28s var(--asvt-ease); }
.asvt-stage-cta:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(85, 132, 255, .44); color: #fff !important; }
.asvt-stage-cta:hover i { transform: translateX(5px); }
.asvt-stage-cta::after {
    content: ''; position: absolute; top: 0; left: -60%;
    width: 45%; height: 100%;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .38), transparent);
    transform: skewX(-18deg);
    animation: asvtSheen 4.2s ease-in-out infinite;
}
@keyframes asvtSheen { 0%, 62% { left: -60%; } 88%, 100% { left: 130%; } }

.asvt-stage-phone {
    display: inline-flex; align-items: center; gap: 13px;
    padding: 12px 22px 12px 16px;
    border-radius: var(--asvt-radius-pill);
    border: 1px solid var(--asvt-border-strong);
    color: var(--asvt-text) !important;
    transition: border-color .25s var(--asvt-ease), background-color .25s var(--asvt-ease), transform .25s var(--asvt-ease);
}
.asvt-stage-phone i {
    width: 38px; height: 38px; border-radius: 50%;
    background: rgba(85, 132, 255, .12); color: var(--asvt-primary-ink) !important;
    display: inline-flex; align-items: center; justify-content: center; font-size: 15px;
}
.asvt-stage-phone small { display: block; font-size: 11.5px; color: var(--asvt-text-soft); }
.asvt-stage-phone strong { display: block; font-size: 16px; letter-spacing: .01em; }
.asvt-stage-phone:hover { border-color: var(--asvt-primary); transform: translateY(-2px); color: var(--asvt-text) !important; }

.asvt-stage-stats {
    list-style: none; padding: 26px 0 0; margin: 0;
    display: flex; flex-wrap: wrap; gap: 14px 44px;
    border-top: 1px solid var(--asvt-border);
}
.asvt-stage-stats strong {
    display: block; font-size: 30px; font-weight: 800; line-height: 1.1;
    color: var(--asvt-text);
}
.asvt-stage-stats span { font-size: 12.5px; color: var(--asvt-text-soft); }

/* ── Pravý stĺpec: panel diagnostiky ─────────────────────────── */
.asvt-stage-panel { position: relative; }
.asvt-stage-panel::before {
    content: ''; position: absolute; inset: -14px -14px -22px;
    border-radius: calc(var(--asvt-radius-lg) + 10px);
    background: linear-gradient(150deg, rgba(85, 132, 255, .16), rgba(255, 205, 0, .12));
    filter: blur(24px);
    z-index: 0;
}
html .asvt-stage-panel .asvt-qc {
    position: relative; z-index: 1;
    margin: 0;
    max-width: none;
    background: var(--asvt-bg-panel) !important;
    border: 1px solid var(--asvt-border) !important;
    box-shadow:
        0 2px 6px rgba(16, 24, 40, .06),
        0 12px 28px rgba(16, 24, 40, .10),
        0 40px 80px rgba(16, 24, 40, .16);
    padding: 30px 32px !important;
}
html[data-theme="dark"] .asvt-stage-panel .asvt-qc {
    box-shadow: 0 2px 6px rgba(0, 0, 0, .40), 0 20px 50px rgba(0, 0, 0, .55);
}
html .asvt-stage-panel .asvt-qc-head { text-align: left; }
html .asvt-stage-panel .asvt-qc-options { grid-template-columns: 1fr 1fr; }
html .asvt-stage-panel .asvt-qc-option {
    flex-direction: row; align-items: center; gap: 12px;
    text-align: left; padding: 16px 16px;
}
html .asvt-stage-panel .asvt-qc-option i { font-size: 20px; flex: 0 0 auto; }
html .asvt-stage-panel .asvt-qc-option strong { font-size: 13.5px; }
html .asvt-stage-panel .asvt-qc-option small { font-size: 11px; }

/* ── Posunutie na služby ─────────────────────────────────────── */
.asvt-stage-scroll {
    position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%);
    z-index: 3;
    display: flex; flex-direction: column; align-items: center; gap: 9px;
    color: var(--asvt-text-soft) !important;
    font-size: 11.5px; letter-spacing: .10em; text-transform: uppercase;
}
.asvt-stage-scroll em { font-style: normal; }
.asvt-stage-mouse {
    width: 26px; height: 42px; border-radius: 14px;
    border: 2px solid var(--asvt-border-strong);
    display: flex; justify-content: center; padding-top: 7px;
}
.asvt-stage-mouse span {
    width: 3px; height: 8px; border-radius: 2px;
    background: var(--asvt-primary);
    animation: asvtWheel 1.8s ease-in-out infinite;
}
@keyframes asvtWheel { 0% { opacity: 0; transform: translateY(-4px); } 45% { opacity: 1; } 100% { opacity: 0; transform: translateY(10px); } }
.asvt-stage-scroll:hover { color: var(--asvt-primary-ink) !important; }

/* ── Nadväzujúce pásy ────────────────────────────────────────── */
.asvt-services-band { padding-top: 10px; }
.asvt-why-band { position: relative; }
.asvt-compare-band .asvt-intro-box {
    background: var(--asvt-bg-panel) !important;
    border: 1px solid var(--asvt-border) !important;
    backdrop-filter: none;
    box-shadow: var(--asvt-shadow-1) !important;
}
html .asvt-compare-band .asvt-intro-box h1 { color: var(--asvt-text) !important; text-shadow: none; }
html .asvt-compare-band .asvt-intro-box p,
html .asvt-compare-band .asvt-intro-box .asvt-check-list li { color: var(--asvt-text-soft) !important; text-shadow: none; }
html .asvt-compare-band .asvt-ba-hint { color: var(--asvt-text-soft); text-shadow: none; }

/* Karty služieb sa vrátili na svetlé pozadie */
html .asvt-services-band .asvt-slide-card {
    background: var(--asvt-bg-panel) !important;
    border-color: var(--asvt-border) !important;
    box-shadow: var(--asvt-shadow-2) !important;
}
html .asvt-services-band .asvt-slide-card h3 { color: var(--asvt-text) !important; text-shadow: none !important; }
html .asvt-services-band .asvt-slide-card p { color: var(--asvt-text-soft) !important; text-shadow: none !important; font-weight: 400; }
html .asvt-services-band .asvt-slide-card .asvt-service-meta span,
html .asvt-services-band .asvt-slide-card .asvt-price,
html .asvt-services-band .asvt-slide-card .btn-text { color: var(--asvt-primary-ink) !important; text-shadow: none !important; }
html .asvt-services-band .asvt-slide-card > .img-box img { opacity: 1 !important; }
html .asvt-services-band .flex-direction-nav a {
    background: var(--asvt-bg-panel) !important;
    border-color: var(--asvt-border-strong) !important;
    color: var(--asvt-text) !important;
}
html .asvt-services-band .flex-direction-nav a:before { color: var(--asvt-text) !important; }
html .asvt-services-band .flex-direction-nav a:hover { background: var(--asvt-primary) !important; border-color: var(--asvt-primary) !important; }
html .asvt-services-band .flex-direction-nav a:hover:before { color: #fff !important; }
html .asvt-services-band .flex-control-paging li a { background: rgba(120, 130, 155, .32) !important; }
html .asvt-services-band .flex-control-paging li a.flex-active { background: var(--asvt-primary) !important; }

/* ── Menšie obrazovky ────────────────────────────────────────── */
@media (max-width: 1200px) {
    .asvt-stage-grid-cols { gap: 40px; }
    .asvt-stage-title { font-size: clamp(30px, 4vw, 46px); }
}
@media (max-width: 992px) {
    .asvt-stage {
        min-height: auto;
        padding: calc(var(--asvt-header-h) + 46px) 0 74px;
    }
    .asvt-stage-grid-cols { grid-template-columns: 1fr; gap: 36px; }
    .asvt-stage-lead { max-width: none; }
    .asvt-stage-scroll { display: none; }
    .asvt-crack { opacity: .32; }
}
@media (max-width: 768px) {
    .asvt-stage-title { font-size: clamp(27px, 7.4vw, 38px); }
    .asvt-stage-actions { gap: 10px; }
    .asvt-stage-cta, .asvt-stage-phone { width: 100%; justify-content: center; }
    .asvt-stage-stats { gap: 12px 26px; }
    .asvt-stage-stats strong { font-size: 24px; }
    html .asvt-stage-panel .asvt-qc { padding: 22px 20px !important; }
    html .asvt-stage-panel .asvt-qc-options { grid-template-columns: 1fr; }
    html .asvt-stage-panel .asvt-qc-option small { display: block; }
}
@media (prefers-reduced-motion: reduce) {
    .asvt-crack-line { animation: none; stroke-dashoffset: 0; }
    .asvt-stage-glow, .asvt-crack-core, .asvt-crack-ring,
    .asvt-stage-cta::after, .asvt-stage-mouse span { animation: none !important; }
}

/* ═══════════════════════════════════════════════════════════════
   Úvodná scéna v štýle šablóny — typografia, tlačidlá a boxy
   preberá zo Signflow, pridané je len pozadie s prasklinou.
   ═══════════════════════════════════════════════════════════════ */
.asvt-stage .title-base { margin-bottom: 0; }
.asvt-stage .title-base hr { margin-left: 0; }
.asvt-stage .title-base h1.asvt-stage-title {
    font-size: clamp(30px, 3.6vw, 50px);
    line-height: 1.12;
    margin-bottom: 18px;
    color: var(--asvt-text) !important;
    -webkit-text-fill-color: currentColor;
    background: none;
}
.asvt-stage .title-base h1 .text-color { color: var(--asvt-primary-ink) !important; }
.asvt-stage .title-base p {
    max-width: 520px; font-size: 16px; line-height: 1.72;
    color: var(--asvt-text-soft) !important;
}

.asvt-stage-tags { margin-bottom: 20px; }
.asvt-stage-tags span { color: var(--asvt-primary-ink) !important; font-weight: 600; }

.asvt-stage-phone i { margin-right: 8px; }

.asvt-stage-stats { width: 100%; margin-top: 4px; }
.asvt-stage-stats td { text-align: left; padding: 0 26px 0 0; vertical-align: top; }
.asvt-stage-stats .counter-box-simple span { font-weight: 800; }
.asvt-stage-stats p { margin: 4px 0 0; color: var(--asvt-text-soft) !important; }

/* Panel diagnostiky prebral vzhľad boxu zo šablóny */
html .asvt-stage-panel .asvt-qc {
    padding: 30px 32px !important;
    margin: 0;
    max-width: none;
    background: var(--asvt-bg-panel) !important;
    border: 1px solid var(--asvt-border) !important;
}
html .asvt-qc-option.advs-box {
    margin: 0;
    display: flex; align-items: center; gap: 12px;
    text-align: left; padding: 15px 16px;
    background: var(--asvt-bg-alt) !important;
    border: 1px solid var(--asvt-border) !important;
}
html .asvt-qc-option.advs-box i { font-size: 20px; flex: 0 0 auto; margin: 0; }
html .asvt-qc-option.advs-box strong { font-size: 13.5px; display: block; }
html .asvt-qc-option.advs-box small { font-size: 11px; display: block; }

/* Odkaz na služby v duchu šablónového scroll-top */
.asvt-stage-scroll {
    position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%);
    z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 6px;
    color: var(--asvt-text-soft) !important;
    font-size: 11px; letter-spacing: .10em; text-transform: uppercase;
}
.asvt-stage-scroll i {
    width: 38px; height: 38px; border-radius: 50%;
    border: 1px solid var(--asvt-border-strong);
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; color: var(--asvt-primary-ink);
    animation: asvtBobDown 2.2s var(--asvt-ease) infinite;
}
@keyframes asvtBobDown { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
.asvt-stage-scroll em { font-style: normal; }
.asvt-stage-scroll:hover { color: var(--asvt-primary-ink) !important; }

@media (max-width: 992px) {
    .asvt-stage .vertical-row > div + div { margin-top: 34px; }
    .asvt-stage-stats td { padding-right: 18px; }
}
@media (max-width: 768px) {
    .asvt-stage .title-base h1.asvt-stage-title { font-size: clamp(26px, 7vw, 36px); }
    .asvt-stage .btn-lg { display: block; width: 100%; margin-bottom: 10px; text-align: center; }
    .asvt-stage .space { display: none; }
    .asvt-stage-stats td { display: block; width: 100%; padding: 0 0 14px; }
}

/* Deliaca čiara a odstupy v úvodnej scéne */
.asvt-stage .title-base hr {
    display: block; width: 60px; height: 3px; border: 0;
    background: var(--asvt-primary) !important;
    margin: 0 0 20px;
}
.asvt-stage .btn { margin-bottom: 8px; }
.asvt-stage .space { display: inline-block; width: 10px; }
@media (max-width: 768px) { .asvt-stage .btn { display: block; width: 100%; text-align: center; } }

/* ═══════════════════════════════════════════════════════════════
   Bannery podstránok — jednotné so šablónou (title-base + čiara)
   ═══════════════════════════════════════════════════════════════ */
.asvt-page-header .title-base { text-align: left; margin: 0; max-width: 760px; }
.asvt-page-header .title-base hr {
    display: block; width: 60px; height: 3px; border: 0;
    background: var(--asvt-accent) !important;
    margin: 0 0 18px !important;
}
.asvt-page-header .title-base h1 {
    color: #fff !important;
    font-size: clamp(28px, 3.4vw, 42px);
    margin: 0 0 14px;
    text-align: left;
}
.asvt-page-header .title-base p {
    color: rgba(255, 255, 255, .88) !important;
    font-size: 16px; line-height: 1.7;
    margin: 0; text-align: left; max-width: 640px;
}
.asvt-breadcrumb { justify-content: flex-start; }

/* ═══════════════════════════════════════════════════════════════
   Poistka pre animácie šablóny na podstránkach
   Prvok, ktorý animačný skript neodkryje (načítanie mimo obrazovky,
   rýchly scroll), musí zostať viditeľný.
   ═══════════════════════════════════════════════════════════════ */
.asvt-service-img,
.asvt-service-img img,
.asvt-article-hero,
.asvt-article-hero img,
.asvt-about-collage .img-box,
.asvt-about-collage img,
.asvt-round-img,
.asvt-caption-slider img,
.asvt-gallery-item,
.asvt-gallery-item img,
.grid-item .img-box,
.grid-item .img-box img,
.maso-item .img-box,
.maso-item .img-box img {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* ── Nadpisy sekcií na podstránkach v mierke šablóny ─────────── */
.asvt-service-body h2 {
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.24;
    margin-bottom: 14px;
    overflow-wrap: break-word;
}
.asvt-service-body .asvt-lead { font-size: 16px; margin-bottom: 12px; }
.asvt-service-icon { width: 52px; height: 52px; font-size: 21px; margin-bottom: 16px; }
.asvt-service-row { padding: 34px 0; }
.asvt-service-img { display: block; }
.asvt-service-img img { width: 100%; display: block; }

.asvt-article h2, .asvt-article h3 { overflow-wrap: break-word; }
.asvt-legal h3 { font-size: 19px; }

/* ═══════════════════════════════════════════════════════════════
   Úvod podľa predlohy index-business.html
   ═══════════════════════════════════════════════════════════════ */
.asvt-biz-intro { padding-top: calc(var(--asvt-header-h) + var(--asvt-topbar-h) + 20px); }
.asvt-biz-tags { justify-content: center; margin-bottom: 18px; }
.asvt-biz-tags span { color: var(--asvt-primary-ink) !important; font-weight: 600; }
.asvt-biz-title {
    font-size: clamp(30px, 3.6vw, 46px);
    line-height: 1.14;
    margin: 0;
}
.asvt-biz-intro .width-80 {
    max-width: 620px; margin: 0 auto;
    font-size: 16px; line-height: 1.72; color: var(--asvt-text-soft) !important;
}
.asvt-biz-side { display: block; }
.asvt-biz-side img { width: 100%; display: block; }

/* Pásy s fotografiou na pozadí — obsah v nich zostáva čitateľný */
.asvt-biz-band { position: relative; }
.asvt-biz-band::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(246, 248, 252, .90), rgba(238, 242, 248, .94));
    z-index: 0;
}
html[data-theme="dark"] .asvt-biz-band::before {
    background: linear-gradient(180deg, rgba(4, 7, 14, .88), rgba(4, 7, 14, .92));
}
.asvt-biz-band > .container { position: relative; z-index: 2; }
html .asvt-biz-band h1,
html .asvt-biz-band h4:not(.boxed-inverse h4),
html .asvt-biz-band .caption-box h3 a { color: #fff !important; }
html .asvt-biz-band h1.text-color { color: var(--asvt-accent) !important; }
html .asvt-biz-band > .container > .row > div > p,
html .asvt-biz-band .caption-box p { color: rgba(255, 255, 255, .80) !important; }
html .asvt-biz-band .fa-ul li { color: rgba(255, 255, 255, .86) !important; }
html .asvt-biz-band .fa-ul .fa-li { color: var(--asvt-accent) !important; }
html .asvt-biz-band .btn-text { color: var(--asvt-accent) !important; }
html .asvt-biz-band .btn-text:after { border-color: var(--asvt-accent) !important; }
html .asvt-biz-band .advs-box-side-icon .icon-box i { color: var(--asvt-accent) !important; }
html .asvt-biz-band .btn.btn-border {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .55) !important;
    background: rgba(255, 255, 255, .06) !important;
}
html .asvt-biz-band .btn.btn-border:hover {
    background: var(--asvt-accent) !important; border-color: var(--asvt-accent) !important; color: #1b2436 !important;
}
/* Panely vnútri pásu si držia svetlé pozadie */
html .asvt-biz-band .boxed-inverse { background: var(--asvt-bg-panel) !important; }
html .asvt-biz-band .boxed-inverse h4,
html .asvt-biz-band .boxed-inverse h2,
html .asvt-biz-band .boxed-inverse p,
html .asvt-biz-band .boxed-inverse label { color: var(--asvt-text) !important; }
html .asvt-biz-band .boxed-inverse p { color: var(--asvt-text-soft) !important; }
html .asvt-biz-band .asvt-qc { background: var(--asvt-bg-panel) !important; border: 1px solid var(--asvt-border) !important; }
html .asvt-biz-band .asvt-calc { background: var(--asvt-bg-panel) !important; }
html .asvt-biz-band .asvt-ba-hint { color: rgba(255, 255, 255, .80); }

/* Štítky poisťovní */
.asvt-insurer-tags { justify-content: center; }
.asvt-insurer-tags span { margin: 4px 6px; }

/* Doladenie úvodu podľa predlohy */
.asvt-biz-intro { padding-top: calc(var(--asvt-header-h) + var(--asvt-topbar-h)); }
.asvt-biz-intro .content { padding-top: 20px !important; }
html .asvt-biz-title.text-color { color: var(--asvt-text) !important; }
html .asvt-biz-title { font-weight: 700; }
.asvt-biz-intro .btn-lg { margin: 0 6px 10px; }
.asvt-biz-intro .space { display: inline-block; width: 2px; }
.asvt-biz-side { max-width: 300px; }
.asvt-biz-side img { aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 768px) {
    .asvt-biz-intro .btn-lg { display: block; width: 100%; margin: 0 0 10px; }
}

/* ═══════════════════════════════════════════════════════════════
   Úvod má pôsobiť ako pohľad cez sklo — priesvitné vrstvy,
   šikmé odlesky a jemný nádych do modra.
   ═══════════════════════════════════════════════════════════════ */
.asvt-biz-intro {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        linear-gradient(140deg, rgba(233, 240, 250, .75) 0%, rgba(244, 247, 252, .55) 40%, rgba(226, 234, 246, .70) 100%) !important;
}
html[data-theme="dark"] .asvt-biz-intro {
    background:
        linear-gradient(140deg, rgba(28, 36, 52, .80) 0%, rgba(20, 27, 40, .60) 40%, rgba(16, 21, 31, .82) 100%) !important;
}

/* šikmé odlesky ako na tabuli skla */
.asvt-biz-intro::before {
    content: '';
    position: absolute; inset: -20% -10%;
    z-index: 0; pointer-events: none;
    background:
        linear-gradient(104deg, transparent 0%, rgba(255, 255, 255, .55) 16%, transparent 22%),
        linear-gradient(104deg, transparent 30%, rgba(255, 255, 255, .38) 42%, transparent 48%),
        linear-gradient(104deg, transparent 62%, rgba(255, 255, 255, .28) 71%, transparent 76%);
    transform: rotate(-2deg);
    filter: blur(.5px);
}
html[data-theme="dark"] .asvt-biz-intro::before {
    background:
        linear-gradient(104deg, transparent 0%, rgba(255, 255, 255, .07) 16%, transparent 22%),
        linear-gradient(104deg, transparent 30%, rgba(255, 255, 255, .05) 42%, transparent 48%),
        linear-gradient(104deg, transparent 62%, rgba(255, 255, 255, .04) 71%, transparent 76%);
}

/* jemné svetlá pod sklom */
.asvt-biz-intro::after {
    content: '';
    position: absolute; inset: 0;
    z-index: 0; pointer-events: none;
    background:
        radial-gradient(52% 44% at 18% 22%, rgba(85, 132, 255, .16) 0%, transparent 68%),
        radial-gradient(46% 40% at 84% 74%, rgba(255, 205, 0, .13) 0%, transparent 68%);
}
.asvt-biz-intro > .content { position: relative; z-index: 2; }

/* Text nad sklom */
html .asvt-biz-intro .asvt-biz-title { color: var(--asvt-text) !important; }
html .asvt-biz-intro .width-80 { color: var(--asvt-text-soft) !important; }

/* Obrázky po stranách pôsobia ako tabule skla položené na podklade */
.asvt-biz-side {
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}
.asvt-biz-side img { opacity: .96; }

/* Stĺpce obrázkov po stranách úvodného nadpisu — striedavo odsadené,
   aby pôsobili ako rozložené tabule skla. */
.asvt-biz-stack { display: flex; flex-direction: column; gap: 18px; }
.asvt-biz-stack .asvt-biz-side { max-width: none; width: 100%; margin: 0; }
.asvt-biz-stack .asvt-biz-side img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; display: block; }

@media (max-width: 1400px) {
    .asvt-biz-stack { gap: 18px; }
}

/* Dôveryhodnostné body a rýchle kontakty pod výzvou v úvode */
.asvt-biz-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; }
.asvt-biz-trust .list-item { display: inline-flex; align-items: center; gap: 8px; }
html .asvt-biz-trust i { color: var(--asvt-primary-ink) !important; font-size: 14px; }
html .asvt-biz-trust label { color: var(--asvt-text-soft) !important; margin: 0; font-weight: 500; }

.asvt-biz-quick { margin: 0 -10px; }
.asvt-biz-quick > div { padding: 0 10px; margin-bottom: 12px; }
.asvt-biz-quick-item {
    display: flex; flex-direction: column; align-items: center; gap: 3px;
    padding: 18px 14px;
    border: 1px solid var(--asvt-border);
    border-radius: var(--asvt-radius);
    background: rgba(255, 255, 255, .10);
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    border-color: rgba(255, 255, 255, .45);
    transition: transform .25s var(--asvt-ease), border-color .25s var(--asvt-ease), box-shadow .25s var(--asvt-ease);
    height: 100%;
}
html[data-theme="dark"] .asvt-biz-quick-item { background: rgba(120, 138, 172, .10); border-color: rgba(255, 255, 255, .14); }
.asvt-biz-quick-item:hover {
    transform: translateY(-3px);
    border-color: var(--asvt-primary);
    box-shadow: var(--asvt-shadow-2);
}
html .asvt-biz-quick-item i { color: var(--asvt-primary-ink) !important; font-size: 17px; margin-bottom: 4px; }
html .asvt-biz-quick-item strong { color: var(--asvt-text) !important; font-size: 15px; }
html .asvt-biz-quick-item small { color: var(--asvt-text-soft) !important; font-size: 12px; }

@media (max-width: 768px) {
    .asvt-biz-trust { flex-direction: column; align-items: center; gap: 7px; }
    .asvt-biz-quick > div { margin-bottom: 10px; }
}

/* ═══════════════════════════════════════════════════════════════
   Úvod vzdušnejší — viac priestoru medzi prvkami
   ═══════════════════════════════════════════════════════════════ */
.asvt-biz-intro > .content { padding-top: 0 !important; padding-bottom: 64px !important; }
.asvt-biz-intro .asvt-biz-title { margin-bottom: 6px; line-height: 1.18; }
.asvt-biz-intro .width-80 { max-width: 560px; margin: 0 auto; line-height: 1.8; }
.asvt-biz-tags { margin: 0 0 20px; letter-spacing: .04em; }
/* tlačidlá tesne okolo textu — výška zodpovedá riadku písma */
.asvt-biz-intro .btn-lg { padding: 9px 26px; font-size: 15px; line-height: 1.5; margin-bottom: 0; }
.asvt-biz-trust { margin-top: 40px; gap: 12px 38px; }
.asvt-biz-quick { margin-top: 30px; }
.asvt-biz-quick-item { padding: 14px 14px; }
.asvt-biz-stack { gap: 26px; }

/* ── Obrázky v úvode presvitajú ako tabule skla ──────────────── */
.asvt-biz-side {
    position: relative;
    background: rgba(255, 255, 255, .30);
    border: 1px solid rgba(255, 255, 255, .55);
    box-shadow:
        0 1px 2px rgba(16, 24, 40, .05),
        0 10px 26px rgba(16, 24, 40, .10) !important;
}
.asvt-biz-side img {
    opacity: 1;
    transition: transform .6s var(--asvt-ease);
}
/* odlesk cez tabuľu */
.asvt-biz-side::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(118deg, rgba(255, 255, 255, .26) 0%, rgba(255, 255, 255, .05) 24%, transparent 44%, rgba(255, 255, 255, .10) 78%, transparent 100%);
    border-radius: inherit;
    z-index: 2;
}
html[data-theme="dark"] .asvt-biz-side {
    background: rgba(60, 74, 100, .22);
    border-color: rgba(255, 255, 255, .16);
}

html[data-theme="dark"] .asvt-biz-side::after {
    background: linear-gradient(118deg, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, .04) 26%, transparent 46%, rgba(255, 255, 255, .08) 78%, transparent 100%);
}

@media (max-width: 768px) {
    .asvt-biz-intro > .content { padding-top: 30px !important; padding-bottom: 48px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   Obrázky v úvode do cik-caku — striedavé odsadenie, veľkosť
   aj náklon, aby stĺpce pôsobili živšie.
   ═══════════════════════════════════════════════════════════════ */
.asvt-biz-stack { padding: 10px 0; }
.asvt-biz-stack .asvt-biz-side {
    transition: transform .5s var(--asvt-ease), box-shadow .4s var(--asvt-ease), opacity .4s var(--asvt-ease);
    will-change: transform;
}

/* ľavý stĺpec: von — dnu — von */
.asvt-biz-stack:not(.asvt-biz-stack-right) .asvt-biz-side:nth-child(1) {
    transform: translateX(-26px) rotate(-2.4deg); width: 92%;
}
.asvt-biz-stack:not(.asvt-biz-stack-right) .asvt-biz-side:nth-child(2) {
    transform: translateX(34px) rotate(2deg); width: 100%; z-index: 2;
}
.asvt-biz-stack:not(.asvt-biz-stack-right) .asvt-biz-side:nth-child(3) {
    transform: translateX(-14px) rotate(-1.4deg); width: 86%;
}

/* pravý stĺpec zrkadlovo */
.asvt-biz-stack-right { align-items: flex-end; }
.asvt-biz-stack-right .asvt-biz-side:nth-child(1) {
    transform: translateX(26px) rotate(2.4deg); width: 92%;
}
.asvt-biz-stack-right .asvt-biz-side:nth-child(2) {
    transform: translateX(-34px) rotate(-2deg); width: 100%; z-index: 2;
}
.asvt-biz-stack-right .asvt-biz-side:nth-child(3) {
    transform: translateX(14px) rotate(1.4deg); width: 86%;
}

/* pri prejdení myšou sa tabuľa narovná a vystúpi dopredu */
.asvt-biz-stack .asvt-biz-side:hover {
    transform: translateX(0) rotate(0deg) scale(1.04) !important;
    z-index: 5;
    box-shadow:
        0 4px 10px rgba(16, 24, 40, .10),
        0 24px 54px rgba(16, 24, 40, .20) !important;
}

@media (max-width: 1400px) {
    .asvt-biz-stack:not(.asvt-biz-stack-right) .asvt-biz-side:nth-child(1) { transform: translateX(-14px) rotate(-2deg); }
    .asvt-biz-stack:not(.asvt-biz-stack-right) .asvt-biz-side:nth-child(2) { transform: translateX(20px) rotate(1.6deg); }
    .asvt-biz-stack:not(.asvt-biz-stack-right) .asvt-biz-side:nth-child(3) { transform: translateX(-8px) rotate(-1.2deg); }
    .asvt-biz-stack-right .asvt-biz-side:nth-child(1) { transform: translateX(14px) rotate(2deg); }
    .asvt-biz-stack-right .asvt-biz-side:nth-child(2) { transform: translateX(-20px) rotate(-1.6deg); }
    .asvt-biz-stack-right .asvt-biz-side:nth-child(3) { transform: translateX(8px) rotate(1.2deg); }
}
@media (prefers-reduced-motion: reduce) {
    .asvt-biz-stack .asvt-biz-side { transform: none !important; }
}

/* ═══════════════════════════════════════════════════════════════
   Interaktívny úvod
   ═══════════════════════════════════════════════════════════════ */

/* Striedajúci sa záver nadpisu */
.asvt-rotate { display: inline-block; overflow: hidden; vertical-align: bottom; }
.asvt-rotate-word {
    display: inline-block;
    color: var(--asvt-primary-ink) !important;
    transition: opacity .32s var(--asvt-ease), transform .32s var(--asvt-ease);
}

/* Tabule reagujú na pohyb myši */
.asvt-biz-side {
    --asvt-tilt-x: 0px;
    --asvt-tilt-y: 0px;
}
.asvt-biz-stack:not(.asvt-biz-stack-right) .asvt-biz-side:nth-child(1) {
    transform: translate(calc(-26px + var(--asvt-tilt-x)), var(--asvt-tilt-y)) rotate(-2.4deg);
}
.asvt-biz-stack:not(.asvt-biz-stack-right) .asvt-biz-side:nth-child(2) {
    transform: translate(calc(34px + var(--asvt-tilt-x)), var(--asvt-tilt-y)) rotate(2deg);
}
.asvt-biz-stack:not(.asvt-biz-stack-right) .asvt-biz-side:nth-child(3) {
    transform: translate(calc(-14px + var(--asvt-tilt-x)), var(--asvt-tilt-y)) rotate(-1.4deg);
}
.asvt-biz-stack-right .asvt-biz-side:nth-child(1) {
    transform: translate(calc(26px + var(--asvt-tilt-x)), var(--asvt-tilt-y)) rotate(2.4deg);
}
.asvt-biz-stack-right .asvt-biz-side:nth-child(2) {
    transform: translate(calc(-34px + var(--asvt-tilt-x)), var(--asvt-tilt-y)) rotate(-2deg);
}
.asvt-biz-stack-right .asvt-biz-side:nth-child(3) {
    transform: translate(calc(14px + var(--asvt-tilt-x)), var(--asvt-tilt-y)) rotate(1.4deg);
}

/* Popis tabule sa odkryje pri prejdení myšou */
.asvt-biz-caption {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 3;
    padding: 22px 16px 12px;
    background: linear-gradient(180deg, transparent, rgba(8, 13, 24, .82));
    color: #fff; font-size: 12.5px; font-weight: 600; letter-spacing: .02em;
    text-align: left;
    opacity: 0; transform: translateY(8px);
    transition: opacity .3s var(--asvt-ease), transform .3s var(--asvt-ease);
    border-radius: 0 0 var(--asvt-radius) var(--asvt-radius);
}
.asvt-biz-side:hover .asvt-biz-caption { opacity: 1; transform: translateY(0); }

/* Živý stav prevádzky */
.asvt-biz-quick-item.is-open,
.asvt-biz-quick-item.is-closed { position: relative; }
.asvt-biz-quick-item.is-open::before,
.asvt-biz-quick-item.is-closed::before {
    content: ''; position: absolute; top: 12px; right: 12px;
    width: 8px; height: 8px; border-radius: 50%;
}
.asvt-biz-quick-item.is-open::before {
    background: #35b07a;
    box-shadow: 0 0 0 0 rgba(53, 176, 122, .6);
    animation: asvtLive 2.2s ease-out infinite;
}
.asvt-biz-quick-item.is-closed::before { background: #c9ced8; }
@keyframes asvtLive {
    0%   { box-shadow: 0 0 0 0 rgba(53, 176, 122, .55); }
    70%  { box-shadow: 0 0 0 9px rgba(53, 176, 122, 0); }
    100% { box-shadow: 0 0 0 0 rgba(53, 176, 122, 0); }
}
html .asvt-biz-quick-item.is-open small { color: #35b07a !important; font-weight: 600; }

@media (prefers-reduced-motion: reduce) {
    .asvt-rotate-word { transition: none; }
    .asvt-biz-quick-item.is-open::before { animation: none; }
}

/* obsah úvodu leží nad vrstvami pozadia */
.asvt-biz-intro > .content { position: relative; z-index: 3; }

/* Výraznejšie zaoblenie obrázkov v úvode a v kartách */
html .asvt-biz-side,
html .asvt-biz-side img,
html .asvt-biz-caption { border-radius: 26px !important; }
html .asvt-biz-caption { border-radius: 0 0 26px 26px !important; }

html .img-box,
html .img-box img,
html .asvt-round-img,
html .asvt-article-hero,
html .asvt-article-hero img,
html .asvt-ba,
html .asvt-ba-img,
html .asvt-map,
html .asvt-map-static,
html .asvt-map iframe,
html .asvt-calc-illustration { border-radius: 22px !important; }

html .asvt-slide-card > .img-box,
html .asvt-slide-card > .img-box img,
html .asvt-post-card > .img-box,
html .asvt-post-card > .img-box img,
html .asvt-gallery-card > .img-box,
html .asvt-gallery-card .img-box img,
html .asvt-team-photo,
html .asvt-team-photo img { border-radius: 22px 22px 0 0 !important; }

html .asvt-slide-card,
html .asvt-post-card,
html .asvt-gallery-card,
html .asvt-team-card,
html .boxed-inverse,
html .asvt-qc,
html .asvt-calc { border-radius: 22px !important; }

/* ═══════════════════════════════════════════════════════════════
   Boxy „prečo my" na jednej účiare — rovnaká výška, ikona,
   nadpis aj text začínajú v každom stĺpci na rovnakej úrovni.
   ═══════════════════════════════════════════════════════════════ */
.grid-table.grid-table-sm-12 { table-layout: fixed; width: 100%; }
.grid-table.grid-table-sm-12 > tbody > tr { display: flex; flex-wrap: wrap; align-items: stretch; }
.grid-table.grid-table-sm-12 > tbody > tr > td {
    display: flex; float: none; vertical-align: top;
    flex: 1 1 0; min-width: 0;
    padding: 0 12px;
}
.grid-table.grid-table-sm-12 .advs-box-top-icon {
    display: flex; flex-direction: column; align-items: center;
    width: 100%; height: 100%;
    padding: 34px 24px 30px !important;
    text-align: center;
}
.grid-table.grid-table-sm-12 .advs-box-top-icon i.icon.circle {
    flex: 0 0 auto; margin: 0 0 18px;
}
/* nadpis dostane pevnú výšku dvoch riadkov, aby text pod ním sedel v rade */
.grid-table.grid-table-sm-12 .advs-box-top-icon h3 {
    display: flex; align-items: center; justify-content: center;
    min-height: 52px; margin: 0 0 10px;
}
.grid-table.grid-table-sm-12 .advs-box-top-icon p { margin: 0; }

@media (max-width: 992px) {
    .grid-table.grid-table-sm-12 > tbody > tr > td { flex: 0 0 50%; margin-bottom: 24px; }
}
@media (max-width: 576px) {
    .grid-table.grid-table-sm-12 > tbody > tr > td { flex: 0 0 100%; }
    .grid-table.grid-table-sm-12 .advs-box-top-icon h3 { min-height: 0; }
}

/* Sklenený pás pod rýchlymi kontaktmi — priesvitná plocha,
   ktorá oddelí úvod od nasledujúcej sekcie. */
.asvt-biz-quick {
    position: relative;
    padding: 26px 14px 12px;
    border-radius: 26px;
    background: linear-gradient(140deg, rgba(255, 255, 255, .34), rgba(255, 255, 255, .12));
    border: 1px solid rgba(255, 255, 255, .55);
    backdrop-filter: blur(10px) saturate(120%);
    -webkit-backdrop-filter: blur(10px) saturate(120%);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 34px rgba(16, 24, 40, .07);
}
html[data-theme="dark"] .asvt-biz-quick {
    background: linear-gradient(140deg, rgba(120, 138, 172, .12), rgba(120, 138, 172, .05));
    border-color: rgba(255, 255, 255, .12);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .28), 0 12px 34px rgba(0, 0, 0, .34);
}
/* odlesk po sklenenom páse */
.asvt-biz-quick::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(112deg, rgba(255, 255, 255, .45) 0%, rgba(255, 255, 255, .06) 22%, transparent 44%, rgba(255, 255, 255, .18) 76%, transparent 100%);
}
html[data-theme="dark"] .asvt-biz-quick::before {
    background: linear-gradient(112deg, rgba(255, 255, 255, .12) 0%, rgba(255, 255, 255, .03) 22%, transparent 44%, rgba(255, 255, 255, .06) 76%, transparent 100%);
}
.asvt-biz-quick > div { position: relative; z-index: 1; }

/* ═══════════════════════════════════════════════════════════════
   Karty nesmie skryť animácia šablóny spustená prejdením myši.
   Efekt pri hoveri riešime vlastným, predvídateľným spôsobom.
   ═══════════════════════════════════════════════════════════════ */
.asvt-gallery-card,
.asvt-post-card,
.asvt-team-card,
.asvt-slide-card,
.advs-box.boxed-inverse,
.advs-box-top-icon,
.advs-box-multiple {
    opacity: 1 !important;
    visibility: visible !important;
}
.asvt-gallery-card,
.asvt-post-card,
.asvt-team-card {
    transition: transform .3s var(--asvt-ease), box-shadow .3s var(--asvt-ease);
}
.asvt-gallery-card:hover,
.asvt-post-card:hover,
.asvt-team-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--asvt-shadow-3) !important;
}
.asvt-gallery-card .img-box img,
.asvt-post-card .img-box img,
.asvt-team-card .asvt-team-photo img {
    transition: transform .55s var(--asvt-ease);
}
.asvt-gallery-card:hover .img-box img,
.asvt-post-card:hover .img-box img,
.asvt-team-card:hover .asvt-team-photo img { transform: scale(1.06); }

/* ikony v boxoch „prečo my" pulzujú bez zásahu do viditeľnosti */
.advs-box-top-icon i.icon.circle { transition: transform .35s var(--asvt-ease); }
.advs-box-top-icon:hover i.icon.circle { transform: scale(1.10) rotate(-6deg); }

/* ═══════════════════════════════════════════════════════════════
   Sklenená scéna v úvode
   Po ploche pomaly prechádza odlesk a po skle stekajú kvapky —
   úvod tak pôsobí ako pohľad cez čelné sklo.
   ═══════════════════════════════════════════════════════════════ */
.asvt-glass { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }

/* odlesk prechádzajúci naprieč plochou */
.asvt-glass-sheen {
    position: absolute; top: -30%; bottom: -30%; left: -40%;
    width: 34%;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55) 45%, rgba(255, 255, 255, .70) 52%, transparent);
    transform: skewX(-14deg);
    filter: blur(2px);
    animation: asvtSheenPass 11s cubic-bezier(.45, 0, .25, 1) infinite;
}
html[data-theme="dark"] .asvt-glass-sheen {
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .10) 45%, rgba(255, 255, 255, .16) 52%, transparent);
}
@keyframes asvtSheenPass {
    0%, 55%  { left: -40%; }
    92%, 100% { left: 130%; }
}

/* kvapky stekajúce po skle */
.asvt-drops { position: absolute; inset: 0; }
.asvt-drop {
    position: absolute;
    width: 8px; height: 8px;
    border-radius: 60% 60% 55% 55% / 70% 70% 45% 45%;
    background: radial-gradient(circle at 34% 28%, rgba(255, 255, 255, .95), rgba(190, 208, 236, .55) 52%, rgba(140, 165, 205, .30));
    box-shadow: 0 1px 2px rgba(30, 44, 70, .16), inset 0 -1px 2px rgba(255, 255, 255, .65);
    opacity: 0;
    animation: asvtDropRun 9s linear infinite;
}
html[data-theme="dark"] .asvt-drop {
    background: radial-gradient(circle at 34% 28%, rgba(255, 255, 255, .60), rgba(150, 172, 210, .28) 52%, rgba(90, 110, 150, .16));
    box-shadow: 0 1px 2px rgba(0, 0, 0, .35), inset 0 -1px 2px rgba(255, 255, 255, .28);
}
@keyframes asvtDropRun {
    0%   { transform: translateY(-30px) scale(.7); opacity: 0; }
    8%   { opacity: .85; }
    45%  { transform: translateY(46vh) scale(1); opacity: .8; }
    70%  { transform: translateY(72vh) scale(1.05); opacity: .5; }
    100% { transform: translateY(104vh) scale(1.1); opacity: 0; }
}
/* každá kvapka má vlastnú dráhu, veľkosť a rytmus */
.asvt-drop:nth-child(1)  { left:  6%; width: 7px;  height: 9px;  animation-duration: 8s;  animation-delay: 0s; }
.asvt-drop:nth-child(2)  { left: 13%; width: 5px;  height: 7px;  animation-duration: 11s; animation-delay: 2.4s; }
.asvt-drop:nth-child(3)  { left: 21%; width: 9px;  height: 12px; animation-duration: 9.5s; animation-delay: 1.1s; }
.asvt-drop:nth-child(4)  { left: 28%; width: 6px;  height: 8px;  animation-duration: 12s; animation-delay: 4.2s; }
.asvt-drop:nth-child(5)  { left: 35%; width: 8px;  height: 10px; animation-duration: 10s; animation-delay: .6s; }
.asvt-drop:nth-child(6)  { left: 42%; width: 5px;  height: 6px;  animation-duration: 13s; animation-delay: 3.3s; }
.asvt-drop:nth-child(7)  { left: 49%; width: 10px; height: 13px; animation-duration: 8.6s; animation-delay: 5.1s; }
.asvt-drop:nth-child(8)  { left: 57%; width: 6px;  height: 8px;  animation-duration: 11.5s; animation-delay: 1.8s; }
.asvt-drop:nth-child(9)  { left: 64%; width: 8px;  height: 11px; animation-duration: 9.2s; animation-delay: 6.4s; }
.asvt-drop:nth-child(10) { left: 71%; width: 5px;  height: 7px;  animation-duration: 12.5s; animation-delay: 2.9s; }
.asvt-drop:nth-child(11) { left: 78%; width: 9px;  height: 12px; animation-duration: 10.4s; animation-delay: 4.8s; }
.asvt-drop:nth-child(12) { left: 85%; width: 6px;  height: 8px;  animation-duration: 8.8s; animation-delay: .3s; }
.asvt-drop:nth-child(13) { left: 91%; width: 7px;  height: 9px;  animation-duration: 11.8s; animation-delay: 3.7s; }
.asvt-drop:nth-child(14) { left: 96%; width: 5px;  height: 6px;  animation-duration: 10.8s; animation-delay: 6.9s; }

/* obsah leží nad sklenenou scénou */
.asvt-biz-intro > .content { position: relative; z-index: 3; }
.asvt-biz-intro::before, .asvt-biz-intro::after { z-index: 0; }

@media (max-width: 768px) {
    .asvt-drop:nth-child(n+9) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .asvt-glass { display: none; }
}

/* Recenzie na stránke O nás — rovnaká výška v plávajúcej mriežke */
.asvt-reviews-grid { display: flex; flex-wrap: wrap; }
.asvt-reviews-grid > div { display: flex; margin-bottom: 24px; }
.asvt-reviews-grid .asvt-review { width: 100%; }

/* Meno člena tímu má menší rez než nadpis sekcie */
.asvt-team-card h3 { font-size: 19px; margin: 0 0 4px; }

/* ═══════════════════════════════════════════════════════════════
   Karty poradne na jednej účiare — obrázok, nadpis, štítky, text
   aj odkaz začínajú v každom stĺpci na rovnakej úrovni.
   ═══════════════════════════════════════════════════════════════ */
.asvt-post-card { display: flex; flex-direction: column; height: 100%; }
.asvt-post-card > .img-box { flex: 0 0 auto; }
.asvt-post-card > .img-box img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; display: block; }
.asvt-post-card .advs-box-content { display: flex; flex-direction: column; flex: 1 1 auto; }

/* nadpis dostane výšku troch riadkov, aby zvyšok sedel v rade */
.asvt-post-card .advs-box-content h2 {
    display: flex; align-items: flex-start;
    min-height: 84px; margin: 0 0 12px;
    font-size: 18px; line-height: 1.34;
}
.asvt-post-card .tag-row { margin: 0 0 12px; min-height: 22px; }
.asvt-post-card .niche-box-content { flex: 1 1 auto; margin: 0 0 14px; }
.asvt-post-card .btn-text { align-self: flex-start; margin-top: auto; }

/* mriežka drží rovnakú výšku stĺpcov */
.grid-list.grid-layout .grid-box.row { display: flex; flex-wrap: wrap; }
.grid-list.grid-layout .grid-box.row > .grid-item { display: flex; }
.grid-list.grid-layout .grid-box.row > .grid-item > .asvt-post-card { width: 100%; }

@media (max-width: 992px) {
    .asvt-post-card .advs-box-content h2 { min-height: 0; }
}

/* ═══════════════════════════════════════════════════════════════
   Svetlé pásy pod úvodom — text sa prispôsobí presvetlenému
   podkladu (v tmavej téme zostáva pôvodné svetlé písmo).
   ═══════════════════════════════════════════════════════════════ */
html:not([data-theme="dark"]) .asvt-biz-band h1,
html:not([data-theme="dark"]) .asvt-biz-band h2,
html:not([data-theme="dark"]) .asvt-biz-band h3,
html:not([data-theme="dark"]) .asvt-biz-band h4,
html:not([data-theme="dark"]) .asvt-biz-band .caption-box h3 a {
    color: var(--asvt-text) !important;
    text-shadow: none !important;
}
html:not([data-theme="dark"]) .asvt-biz-band h1.text-color {
    color: var(--asvt-primary-ink) !important;
}
html:not([data-theme="dark"]) .asvt-biz-band > .container > .row > div > p,
html:not([data-theme="dark"]) .asvt-biz-band .caption-box p,
html:not([data-theme="dark"]) .asvt-biz-band .fa-ul li,
html:not([data-theme="dark"]) .asvt-biz-band .asvt-ba-hint {
    color: var(--asvt-text-soft) !important;
    text-shadow: none !important;
}
html:not([data-theme="dark"]) .asvt-biz-band .fa-ul .fa-li,
html:not([data-theme="dark"]) .asvt-biz-band .btn-text,
html:not([data-theme="dark"]) .asvt-biz-band .advs-box-side-icon .icon-box i {
    color: var(--asvt-primary-ink) !important;
}
html:not([data-theme="dark"]) .asvt-biz-band .btn-text:after { border-color: var(--asvt-primary-ink) !important; }
html:not([data-theme="dark"]) .asvt-biz-band .btn.btn-border {
    color: var(--asvt-primary-ink) !important;
    border-color: var(--asvt-primary) !important;
    background: transparent !important;
}
html:not([data-theme="dark"]) .asvt-biz-band .btn.btn-border:hover {
    background: var(--asvt-primary) !important;
    border-color: var(--asvt-primary) !important;
    color: #fff !important;
}
/* panely na svetlom páse potrebujú jemný okraj, aby sa neroztiekli */
html:not([data-theme="dark"]) .asvt-biz-band .boxed-inverse,
html:not([data-theme="dark"]) .asvt-biz-band .asvt-qc,
html:not([data-theme="dark"]) .asvt-biz-band .asvt-calc {
    border: 1px solid var(--asvt-border) !important;
    box-shadow: var(--asvt-shadow-2) !important;
}

/* Blogová mriežka nesmie prepadávať pri nerovnakých výškach kariet */
.grid-list .grid-box.row { display: flex; flex-wrap: wrap; }
.grid-list .grid-box.row > .grid-item { display: flex; float: none; }
.grid-list .grid-box.row > .grid-item > * { width: 100%; }

/* Dlaždice kontaktov — nižšie a výraznejšie „za sklom" */
.asvt-biz-quick-item {
    gap: 1px;
    flex-direction: column;
}
html .asvt-biz-quick-item i { font-size: 15px; margin-bottom: 2px; }
html .asvt-biz-quick-item strong { font-size: 14.5px; line-height: 1.3; }
html .asvt-biz-quick-item small { font-size: 11.5px; line-height: 1.3; }
.asvt-biz-quick { padding: 18px 12px 8px; }
html[data-theme="dark"] .asvt-biz-quick-item {
    background: rgba(150, 168, 200, .07);
    border-color: rgba(255, 255, 255, .12);
}

/* ═══════════════════════════════════════════════════════════════
   Boxy s číslami na jednej účiare
   ═══════════════════════════════════════════════════════════════ */
.asvt-stats-grid { display: flex; flex-wrap: wrap; align-items: stretch; }
.asvt-stats-grid > div {
    display: flex; flex-direction: column; justify-content: flex-start;
    float: none; padding: 30px 20px !important;
}
.asvt-stats-grid .counter-box-simple { min-height: 54px; display: flex; align-items: center; justify-content: center; }
.asvt-stats-grid p { margin: 0; }
@media (max-width: 992px) { .asvt-stats-grid > div { flex: 0 0 50%; } }
@media (max-width: 576px) { .asvt-stats-grid > div { flex: 0 0 100%; } }

/* ═══════════════════════════════════════════════════════════════
   Kvapky sem-tam prasknú ako sklo — päť drobných zásahov, ktoré sa
   objavia na chvíľu a zmiznú. Zámerne decentné, nie rušivé.
   ═══════════════════════════════════════════════════════════════ */
.asvt-chips { position: absolute; inset: 0; pointer-events: none; }
.asvt-chip-hit {
    position: absolute;
    width: 46px; height: 46px;
    opacity: 0;
    /* lúče praskliny poskladané z tenkých prechodov */
    background:
        linear-gradient(90deg,  transparent 47%, rgba(120, 150, 200, .55) 49%, transparent 51%),
        linear-gradient(28deg,  transparent 47.5%, rgba(120, 150, 200, .45) 49.5%, transparent 51.5%),
        linear-gradient(152deg, transparent 47.5%, rgba(120, 150, 200, .45) 49.5%, transparent 51.5%),
        linear-gradient(65deg,  transparent 48%, rgba(120, 150, 200, .35) 49.5%, transparent 51%),
        linear-gradient(115deg, transparent 48%, rgba(120, 150, 200, .35) 49.5%, transparent 51%);
    mask-image: radial-gradient(closest-side, #000 12%, rgba(0,0,0,.55) 45%, transparent 72%);
    -webkit-mask-image: radial-gradient(closest-side, #000 12%, rgba(0,0,0,.55) 45%, transparent 72%);
    animation: asvtChipHit 17s ease-out infinite;
}
.asvt-chip-hit::after {
    content: ''; position: absolute; left: 50%; top: 50%;
    width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px;
    border-radius: 50%;
    background: rgba(255, 205, 0, .75);
    box-shadow: 0 0 6px rgba(255, 205, 0, .55);
}
html[data-theme="dark"] .asvt-chip-hit {
    background:
        linear-gradient(90deg,  transparent 47%, rgba(180, 205, 245, .40) 49%, transparent 51%),
        linear-gradient(28deg,  transparent 47.5%, rgba(180, 205, 245, .32) 49.5%, transparent 51.5%),
        linear-gradient(152deg, transparent 47.5%, rgba(180, 205, 245, .32) 49.5%, transparent 51.5%),
        linear-gradient(65deg,  transparent 48%, rgba(180, 205, 245, .24) 49.5%, transparent 51%),
        linear-gradient(115deg, transparent 48%, rgba(180, 205, 245, .24) 49.5%, transparent 51%);
}

@keyframes asvtChipHit {
    0%, 4%    { opacity: 0; transform: scale(.25) rotate(0deg); }
    5.5%      { opacity: .9; transform: scale(1) rotate(0deg); }
    9%        { opacity: .55; transform: scale(1.06) rotate(0deg); }
    16%       { opacity: 0;  transform: scale(1.1) rotate(0deg); }
    100%      { opacity: 0;  transform: scale(1.1) rotate(0deg); }
}

/* každý zásah inde a v inom čase — nikdy nepraskne viac naraz */
.asvt-chip-hit:nth-child(1) { left: 17%; top: 24%; animation-delay: 1.5s;  width: 40px; height: 40px; }
.asvt-chip-hit:nth-child(2) { left: 72%; top: 18%; animation-delay: 5.2s;  width: 52px; height: 52px; }
.asvt-chip-hit:nth-child(3) { left: 38%; top: 62%; animation-delay: 8.6s;  width: 34px; height: 34px; }
.asvt-chip-hit:nth-child(4) { left: 84%; top: 55%; animation-delay: 11.8s; width: 46px; height: 46px; }
.asvt-chip-hit:nth-child(5) { left: 55%; top: 33%; animation-delay: 14.4s; width: 38px; height: 38px; }

@media (max-width: 768px) { .asvt-chip-hit:nth-child(n+4) { display: none; } }
@media (prefers-reduced-motion: reduce) { .asvt-chips { display: none; } }

/* ── Kvapky ešte priesvitnejšie ──────────────────────────────── */
.asvt-drop {
    background: radial-gradient(circle at 34% 28%, rgba(255, 255, 255, .55), rgba(190, 208, 236, .22) 52%, rgba(140, 165, 205, .10));
    box-shadow: 0 1px 2px rgba(30, 44, 70, .08), inset 0 -1px 2px rgba(255, 255, 255, .35);
}
html[data-theme="dark"] .asvt-drop {
    background: radial-gradient(circle at 34% 28%, rgba(255, 255, 255, .30), rgba(150, 172, 210, .12) 52%, rgba(90, 110, 150, .06));
    box-shadow: 0 1px 2px rgba(0, 0, 0, .20), inset 0 -1px 2px rgba(255, 255, 255, .14);
}

/* Nadpis začína hneď pod hlavičkou — bez zbytočnej medzery */
.asvt-biz-intro > .content > .row > .col-md-6 { padding-top: 12px; }
.asvt-biz-intro .tag-row { padding-top: 0; margin-top: 0; }
.asvt-biz-intro .tag-row span { padding-top: 0; }
@media (max-width: 992px) {
    .asvt-biz-intro > .content > .row > .col-md-6 { padding-top: 4px; }
}

/* ── Úvod: vzdušnejší rytmus ────────────────────────────────────
   Medzi blokmi necháme dýchať priestor — nadpis, text, výzvy
   a dlaždice sa navzájom netlačia. */
.asvt-biz-intro > .content { padding-bottom: 96px !important; }
.asvt-biz-intro .asvt-biz-tags { margin: 0 0 26px; }
.asvt-biz-intro .asvt-biz-title { margin-bottom: 22px; line-height: 1.16; }
.asvt-biz-intro .width-80 { max-width: 580px; line-height: 1.95; margin-bottom: 0; }
.asvt-biz-intro .width-80 + .space { height: 40px; }
.asvt-biz-intro .btn-lg { margin: 0 8px; }
.asvt-biz-trust { margin-top: 52px; gap: 14px 24px; flex-wrap: nowrap; }
.asvt-biz-trust .list-item { width: auto; flex: 0 0 auto; float: none; white-space: nowrap; }
html .asvt-biz-trust label { white-space: nowrap; }
@media (max-width: 991px) {
    .asvt-biz-trust { flex-wrap: wrap; justify-content: center; }
}
.asvt-biz-quick { margin-top: 60px; }
.asvt-biz-stack { gap: 34px; }
.asvt-biz-stack .asvt-biz-side + .asvt-biz-side { margin-top: 34px; }

@media (max-width: 991px) {
    .asvt-biz-intro > .content { padding-bottom: 56px !important; }
    .asvt-biz-trust { margin-top: 34px; }
    .asvt-biz-quick { margin-top: 36px; }
}

/* ── Svetlo, ktoré sleduje kurzor po skle ───────────────────── */
.asvt-biz-intro {
    --asvt-mx: 50%;
    --asvt-my: 40%;
}
.asvt-biz-intro .asvt-glass::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    transition: opacity .45s ease;
    background: radial-gradient(340px circle at var(--asvt-mx) var(--asvt-my),
                rgba(255, 255, 255, .40), rgba(255, 255, 255, 0) 68%);
}
html[data-theme="dark"] .asvt-biz-intro .asvt-glass::after {
    background: radial-gradient(360px circle at var(--asvt-mx) var(--asvt-my),
                rgba(140, 176, 255, .16), rgba(140, 176, 255, 0) 70%);
}
.asvt-biz-intro.is-lit .asvt-glass::after { opacity: 0; }
.asvt-biz-intro .asvt-glass::after { display: none !important; }

/* ── Prasklina po kliknutí do skla ──────────────────────────── */
.asvt-crack {
    position: absolute;
    width: 0;
    height: 0;
    pointer-events: none;
    z-index: 2;
    transition: opacity .9s ease;
}
.asvt-crack.is-out { opacity: 0; }
.asvt-crack::before {
    content: "";
    position: absolute;
    left: -5px;
    top: -5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .85);
    box-shadow: 0 0 12px 3px rgba(255, 214, 74, .55);
    animation: asvtCrackDot .7s ease-out forwards;
}
html[data-theme="dark"] .asvt-crack::before { background: rgba(255, 226, 130, .9); }
.asvt-crack i {
    position: absolute;
    left: 0;
    top: 0;
    width: var(--l);
    height: 1px;
    transform-origin: 0 50%;
    transform: rotate(var(--a)) scaleX(0);
    background: linear-gradient(90deg, rgba(255, 255, 255, .75), rgba(255, 255, 255, 0));
    animation: asvtCrackRay .5s cubic-bezier(.2, .8, .3, 1) var(--d) forwards;
}
html[data-theme="dark"] .asvt-crack i {
    background: linear-gradient(90deg, rgba(190, 214, 255, .8), rgba(190, 214, 255, 0));
}
@keyframes asvtCrackDot {
    0%   { transform: scale(.2); opacity: 1; }
    100% { transform: scale(1.6); opacity: 0; }
}
@keyframes asvtCrackRay {
    to { transform: rotate(var(--a)) scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
    .asvt-crack, .asvt-biz-intro .asvt-glass::after { display: none; }
}

/* ═══════════════════════════════════════════════════════════════
   Úvod — čistejšie sklo, väčší odstup, priesvitné dlaždice
   ═══════════════════════════════════════════════════════════════ */

/* Šikmé odlesky preč — pod textom rušili. */
.asvt-biz-intro::before { display: none !important; }

/* Výzvy a body dôvery dostanú viac miesta nad sebou */
.asvt-biz-intro .width-80 + .space { height: 64px; }
.asvt-biz-trust { margin-top: 58px; }
.asvt-biz-quick { margin-top: 92px; }

@media (max-width: 991px) {
    .asvt-biz-intro .width-80 + .space { height: 40px; }
    .asvt-biz-trust { margin-top: 34px; }
    .asvt-biz-quick { margin-top: 44px; }
}

/* Sklenený pás aj dlaždice — priesvitné ako filter na Pneu Online */
html .asvt-biz-quick {
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .30);
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 10px 30px rgba(16, 24, 40, .06);
}
html[data-theme="dark"] .asvt-biz-quick {
    background: rgba(255, 255, 255, .045);
    border-color: rgba(255, 255, 255, .085);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .20), 0 10px 30px rgba(0, 0, 0, .26);
}
html .asvt-biz-quick::before {
    background: linear-gradient(112deg, rgba(255, 255, 255, .22) 0%, transparent 38%, rgba(255, 255, 255, .08) 82%, transparent 100%);
}
html[data-theme="dark"] .asvt-biz-quick::before {
    background: linear-gradient(112deg, rgba(255, 255, 255, .06) 0%, transparent 38%, rgba(255, 255, 255, .03) 82%, transparent 100%);
}
html .asvt-biz-quick-item {
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .26);
    backdrop-filter: saturate(180%) blur(10px);
    -webkit-backdrop-filter: saturate(180%) blur(10px);
    box-shadow: none;
}
html[data-theme="dark"] .asvt-biz-quick-item {
    background: rgba(255, 255, 255, .04);
    border-color: rgba(255, 255, 255, .07);
}
html .asvt-biz-quick-item:hover {
    background: rgba(255, 255, 255, .22);
    border-color: rgba(255, 255, 255, .40);
}
html[data-theme="dark"] .asvt-biz-quick-item:hover {
    background: rgba(255, 255, 255, .075);
    border-color: rgba(255, 255, 255, .13);
}

/* ═══════════════════════════════════════════════════════════════
   Objednávacie tlačidlo v hlavičke — výška podľa textu v ňom
   ═══════════════════════════════════════════════════════════════ */
html .asvt-btn-book {
    padding: 9px 22px !important;
    line-height: 1.35 !important;
    height: auto !important;
    min-height: 0 !important;
    font-size: 14px;
}
html .asvt-btn-book i { line-height: inherit; }

/* ═══════════════════════════════════════════════════════════════
   Karty poradne — nadpis, štítky, text aj odkaz na jednej účiare
   ═══════════════════════════════════════════════════════════════ */
.asvt-post-card .advs-box-content h2 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(3 * 1.34em);
    margin: 0 0 14px;
    line-height: 1.34;
}
.asvt-post-card .tag-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    height: 24px;
    overflow: hidden;
    margin: 0 0 14px;
    font-size: 12.5px;
}
.asvt-post-card .tag-row span { white-space: nowrap; padding-right: 10px; margin-right: 10px; }
.asvt-post-card .tag-row span:last-child { padding-right: 0; margin-right: 0; }
.asvt-post-card .niche-box-content {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(4 * 1.72em);
    flex: 1 1 auto;
    margin: 0 0 16px;
    line-height: 1.72;
}
.asvt-post-card .btn-text { margin-top: auto; align-self: flex-start; }

@media (max-width: 991px) {
    .asvt-post-card .advs-box-content h2,
    .asvt-post-card .niche-box-content { min-height: 0; -webkit-line-clamp: none; display: block; }
}

/* ═══════════════════════════════════════════════════════════════
   Zoznam služieb — rovnaké riadky, nadpisy na jednej účiare
   ═══════════════════════════════════════════════════════════════ */
.asvt-biz-band .grid-list .grid-box.row { display: flex; flex-wrap: wrap; }
.asvt-biz-band .grid-list .grid-item { display: flex; margin-bottom: 38px; }
.asvt-biz-band .advs-box-side-icon { width: 100%; }
.asvt-biz-band .advs-box-side-icon .caption-box h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(2 * 1.32em);
    margin: 0 0 10px;
    line-height: 1.32;
}
.asvt-biz-band .advs-box-side-icon .caption-box p { margin: 0; }

@media (max-width: 991px) {
    .asvt-biz-band .grid-list .grid-box.row { display: block; }
    .asvt-biz-band .grid-list .grid-item { display: block; margin-bottom: 28px; }
    .asvt-biz-band .advs-box-side-icon .caption-box h3 { min-height: 0; -webkit-line-clamp: none; display: block; }
}

/* ═══════════════════════════════════════════════════════════════
   Šesť tabúľ začína hneď pod menu — bez odsadenia úvodu
   ═══════════════════════════════════════════════════════════════ */
html .asvt-biz-intro > .content > .row > div > .asvt-biz-stack {
    /* šablóna nuluje odsadenie prvého prvku v sekcii — prebijeme to */
    margin-top: -110px;   /* výška hlavičky s horným pásom */
}
.asvt-biz-stack {
    padding-top: 0;
    gap: 22px;
}
.asvt-biz-stack .asvt-biz-side + .asvt-biz-side { margin-top: 0; }

@media (max-width: 991px) {
    html .asvt-biz-intro > .content > .row > div > .asvt-biz-stack { margin-top: 0; }
}

/* ═══════════════════════════════════════════════════════════════
   Úvod bez pohyblivého pozadia — sklo zostáva pokojné
   ═══════════════════════════════════════════════════════════════ */
.asvt-biz-intro .asvt-glass-sheen,
.asvt-biz-intro .asvt-drops,
.asvt-biz-intro .asvt-chips { display: none !important; }

/* ═══════════════════════════════════════════════════════════════
   Prasklina cez sklo úvodu — zľava zdola doprava, decentne
   ═══════════════════════════════════════════════════════════════ */
.asvt-glass-crack {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}
.asvt-glass-crack path {
    stroke: rgba(255, 255, 255, .70);
    stroke-width: 1.1;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 1px 1px rgba(16, 24, 40, .10));
}
.asvt-glass-crack .asvt-crack-main { stroke-width: 1.7; stroke: rgba(255, 255, 255, .82); }
html[data-theme="dark"] .asvt-glass-crack path { stroke: rgba(186, 210, 255, .26); filter: none; }
html[data-theme="dark"] .asvt-glass-crack .asvt-crack-main { stroke: rgba(198, 220, 255, .38); }

/* Sklenený pás pod úvodom — takmer neviditeľné sklo, iba obrys */
html .asvt-biz-quick {
    background: rgba(255, 255, 255, .045);
    border-color: rgba(255, 255, 255, .16);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .03), 0 8px 24px rgba(16, 24, 40, .04);
}
html[data-theme="dark"] .asvt-biz-quick {
    background: rgba(255, 255, 255, .014);
    border-color: rgba(255, 255, 255, .045);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .14), 0 8px 24px rgba(0, 0, 0, .16);
}
html .asvt-biz-quick::before {
    background: linear-gradient(112deg, rgba(255, 255, 255, .10) 0%, transparent 40%, rgba(255, 255, 255, .04) 84%, transparent 100%);
}
html[data-theme="dark"] .asvt-biz-quick::before {
    background: linear-gradient(112deg, rgba(255, 255, 255, .028) 0%, transparent 40%, rgba(255, 255, 255, .014) 84%, transparent 100%);
}
html .asvt-biz-quick-item {
    background: rgba(255, 255, 255, .05);
    border-color: rgba(255, 255, 255, .07) !important;
}
html[data-theme="dark"] .asvt-biz-quick-item {
    background: rgba(255, 255, 255, .016);
    border-color: rgba(255, 255, 255, .04);
}
html .asvt-biz-quick-item:hover {
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .26);
}
html[data-theme="dark"] .asvt-biz-quick-item:hover {
    background: rgba(255, 255, 255, .04);
    border-color: rgba(255, 255, 255, .09);
}

/* Obrys dlaždíc v tmavej téme — sotva viditeľná hrana skla */
html[data-theme="dark"] .asvt-biz-quick-item { border-color: rgba(255, 255, 255, .04) !important; }
html[data-theme="dark"] .asvt-biz-quick { border-color: rgba(255, 255, 255, .045) !important; }
html[data-theme="dark"] .asvt-biz-quick-item:hover { border-color: rgba(255, 255, 255, .09) !important; }

/* Telo kalkulačky nemení výšku pri prepínaní krokov */
.asvt-calc-body { position: relative; transition: min-height .28s var(--asvt-ease); }
.asvt-calc-panel { width: 100%; }

/* ═══════════════════════════════════════════════════════════════
   Šesť tabúľ sa nasúva zľahka a plynulo — bez trhaného dobehu
   ═══════════════════════════════════════════════════════════════ */
.asvt-biz-stack .asvt-biz-side {
    opacity: 0;
    animation: asvtPaneIn 1.15s cubic-bezier(.16, .84, .28, 1) var(--asvt-in-delay, 0ms) both;
    will-change: transform, opacity;
}
.asvt-biz-stack:not(.asvt-biz-stack-right) .asvt-biz-side { --asvt-in-from: -46px; }
.asvt-biz-stack-right .asvt-biz-side { --asvt-in-from: 46px; }

@keyframes asvtPaneIn {
    from { opacity: 0; transform: translate3d(var(--asvt-in-from, -40px), 26px, 0) scale(.965); }
    to   { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

/* Nábeh nesmie prebiť zošikmenie jednotlivých tabúľ */
.asvt-biz-stack .asvt-biz-side { transition: transform .5s var(--asvt-ease), box-shadow .5s var(--asvt-ease); }

@media (prefers-reduced-motion: reduce) {
    .asvt-biz-stack .asvt-biz-side { animation: none; opacity: 1; }
}

/* ═══════════════════════════════════════════════════════════════
   Nadpis úvodu na jednom riadku — presahuje stredný stĺpec,
   priestor medzi tabuľami skla je dosť široký.
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 992px) {
    .asvt-biz-intro .asvt-biz-title {
        white-space: nowrap;
        width: max-content;
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        font-size: clamp(26px, 2.85vw, 38px);
    }
    .asvt-biz-intro > .content > .row > .col-md-6 { overflow: visible; }
    .asvt-biz-intro .asvt-rotate { display: inline-block; }
}

/* ═══════════════════════════════════════════════════════════════
   Prechod myšou po tabuliach — jemné privretie, žiadny skok
   ═══════════════════════════════════════════════════════════════ */
.asvt-biz-stack .asvt-biz-side {
    transition:
        transform .85s cubic-bezier(.22, .78, .28, 1),
        box-shadow .85s cubic-bezier(.22, .78, .28, 1),
        filter .85s cubic-bezier(.22, .78, .28, 1);
}
.asvt-biz-stack .asvt-biz-side:hover {
    transform: translateX(0) rotate(0deg) scale(1.012) !important;
    box-shadow:
        0 2px 6px rgba(16, 24, 40, .07),
        0 14px 34px rgba(16, 24, 40, .13) !important;
    filter: brightness(1.03);
}
html[data-theme="dark"] .asvt-biz-stack .asvt-biz-side:hover {
    box-shadow:
        0 2px 6px rgba(0, 0, 0, .30),
        0 14px 34px rgba(0, 0, 0, .40) !important;
}
/* Priblíženie fotografie vnútri tabule je len naznačené */
html .asvt-biz-stack .asvt-biz-side > img { transition: transform 1.1s cubic-bezier(.22, .78, .28, 1) !important; }
html .asvt-biz-stack .asvt-biz-side:hover > img { transform: scale(1.025); }

@media (prefers-reduced-motion: reduce) {
    .asvt-biz-stack .asvt-biz-side,
    .asvt-biz-stack .asvt-biz-side img { transition: none; }
}

/* Stredný stĺpec úvodu vyššie — nadpis začína hneď pod menu */
html .asvt-biz-intro > .content > .row > .col-md-6 {
    margin-top: -78px;
    padding-top: 0;
}
@media (max-width: 991px) {
    html .asvt-biz-intro > .content > .row > .col-md-6 { margin-top: -60px; }
}

/* ═══════════════════════════════════════════════════════════════
   Podklad úvodu v neutrálnej sivej — bez modrého nádychu
   ═══════════════════════════════════════════════════════════════ */
html .asvt-biz-intro {
    background: linear-gradient(140deg,
        rgba(238, 239, 241, .78) 0%,
        rgba(247, 247, 248, .58) 40%,
        rgba(233, 234, 236, .72) 100%) !important;
}
html[data-theme="dark"] .asvt-biz-intro {
    background: linear-gradient(140deg,
        rgba(37, 38, 41, .82) 0%,
        rgba(27, 28, 31, .62) 40%,
        rgba(21, 22, 24, .84) 100%) !important;
}
/* Svetlá pod sklom tiež bez modrej — len jemné presvetlenie */
html .asvt-biz-intro::after {
    background:
        radial-gradient(52% 44% at 18% 22%, rgba(120, 124, 132, .14) 0%, transparent 68%),
        radial-gradient(46% 40% at 84% 74%, rgba(150, 152, 158, .10) 0%, transparent 68%);
}
html[data-theme="dark"] .asvt-biz-intro::after {
    background:
        radial-gradient(52% 44% at 18% 22%, rgba(200, 202, 208, .07) 0%, transparent 68%),
        radial-gradient(46% 40% at 84% 74%, rgba(170, 172, 178, .05) 0%, transparent 68%);
}
/* Prasklina v sivom skle */
html[data-theme="dark"] .asvt-glass-crack path { stroke: rgba(214, 216, 220, .24); }
html[data-theme="dark"] .asvt-glass-crack .asvt-crack-main { stroke: rgba(224, 226, 230, .36); }

/* Nápis v tlačidle na celú šírku sedí presne v strede */
html .asvt-btn-block {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
}
html .asvt-btn-block i { margin: 0 !important; float: none !important; }

/* ═══════════════════════════════════════════════════════════════
   Obsah úvodu leží na sklenenej doske, ktorá vystupuje z pozadia
   ═══════════════════════════════════════════════════════════════ */
.asvt-hero-glass {
    position: relative;
    padding: 44px 44px 40px;
    border-radius: 30px;
    background: rgba(255, 255, 255, .13);
    border: 1px solid rgba(255, 255, 255, .34);
    backdrop-filter: saturate(180%) blur(16px);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
    box-shadow:
        0 1px 2px rgba(16, 24, 40, .05),
        0 8px 20px rgba(16, 24, 40, .07),
        0 34px 70px rgba(16, 24, 40, .13),
        inset 0 1px 0 rgba(255, 255, 255, .45);
    transition: transform .8s var(--asvt-ease), box-shadow .8s var(--asvt-ease);
}
html[data-theme="dark"] .asvt-hero-glass {
    background: rgba(255, 255, 255, .045);
    border-color: rgba(255, 255, 255, .10);
    box-shadow:
        0 1px 2px rgba(0, 0, 0, .30),
        0 8px 20px rgba(0, 0, 0, .32),
        0 34px 70px rgba(0, 0, 0, .46),
        inset 0 1px 0 rgba(255, 255, 255, .10);
}

/* odlesk prechádzajúci cez dosku */
.asvt-hero-glass::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(112deg,
        rgba(255, 255, 255, .26) 0%,
        rgba(255, 255, 255, .04) 26%,
        transparent 52%,
        rgba(255, 255, 255, .12) 84%,
        transparent 100%);
}
html[data-theme="dark"] .asvt-hero-glass::before {
    background: linear-gradient(112deg,
        rgba(255, 255, 255, .07) 0%,
        rgba(255, 255, 255, .015) 26%,
        transparent 52%,
        rgba(255, 255, 255, .035) 84%,
        transparent 100%);
}
.asvt-hero-glass > * { position: relative; z-index: 1; }

/* doska sa pri prejdení myšou nadvihne */
.asvt-hero-glass:hover {
    transform: translateY(-3px);
    box-shadow:
        0 2px 4px rgba(16, 24, 40, .06),
        0 12px 26px rgba(16, 24, 40, .09),
        0 44px 88px rgba(16, 24, 40, .16),
        inset 0 1px 0 rgba(255, 255, 255, .50);
}
html[data-theme="dark"] .asvt-hero-glass:hover {
    box-shadow:
        0 2px 4px rgba(0, 0, 0, .34),
        0 12px 26px rgba(0, 0, 0, .38),
        0 44px 88px rgba(0, 0, 0, .54),
        inset 0 1px 0 rgba(255, 255, 255, .12);
}

/* nadpis môže presahovať dosku len do medzery medzi tabuľami */
@media (min-width: 992px) {
    .asvt-hero-glass { padding-left: 30px; padding-right: 30px; }
}
@media (max-width: 991px) {
    .asvt-hero-glass { padding: 28px 20px 26px; border-radius: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .asvt-hero-glass, .asvt-hero-glass:hover { transition: none; transform: none; }
}

/* Doska je o niečo širšia než stĺpec, aby sa nadpis vošiel celý */
@media (min-width: 992px) {
    .asvt-hero-glass {
        margin-left: -52px;
        margin-right: -52px;
        padding-left: 40px;
        padding-right: 40px;
    }
    .asvt-biz-intro .asvt-biz-title { font-size: clamp(24px, 2.5vw, 34px); }
}

/* Tlačidlo spätného volania drží vľavo dole nad spodnou hranou —
   nesmie sa hýbať pri posúvaní ani zakrývať obsah. */
html .asvt-callback-widget {
    position: fixed;
    left: 22px;
    right: auto;
    top: auto;
    bottom: 28px;
    z-index: 2500;
}
@media (max-width: 991px) {
    html .asvt-callback-widget { left: 14px; bottom: 20px; }
}
html body.has-actionbar .asvt-callback-widget { bottom: 82px; }

/* ═══════════════════════════════════════════════════════════════
   Rýchle kontakty ležia priamo na doske — vlastný sklenený pás
   okolo nich už netreba.
   ═══════════════════════════════════════════════════════════════ */
html .asvt-hero-glass .asvt-biz-quick {
    margin-top: 26px;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
html .asvt-hero-glass .asvt-biz-quick::before { display: none; }

/* Doska ešte o kus širšia */
@media (min-width: 992px) {
    .asvt-hero-glass {
        margin-left: -86px;
        margin-right: -86px;
        padding-left: 46px;
        padding-right: 46px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   Prasklina leží nad všetkým — sklo je predsa najbližšie k oku
   ═══════════════════════════════════════════════════════════════ */
.asvt-biz-intro .asvt-glass { position: absolute; inset: 0; z-index: 20; pointer-events: none; }
.asvt-glass-crack { z-index: 21; }

/* Okolie dosky bez vlastného podkladu — úvod splýva so stránkou */
html .asvt-biz-intro,
html[data-theme="dark"] .asvt-biz-intro { background: none !important; }
html .asvt-biz-intro::after,
html[data-theme="dark"] .asvt-biz-intro::after { display: none; }

/* Doska bez podkladu — obsah úvodu leží priamo na stránke */
html .asvt-hero-glass,
html[data-theme="dark"] .asvt-hero-glass,
html .asvt-hero-glass:hover,
html[data-theme="dark"] .asvt-hero-glass:hover {
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
}
html .asvt-hero-glass::before { display: none !important; }

/* Kontaktné dlaždice nižšie a takmer priehľadné */
html .asvt-hero-glass .asvt-biz-quick { margin-top: 64px; }
html .asvt-biz-quick-item {
    background: rgba(255, 255, 255, .03) !important;
    border-color: rgba(255, 255, 255, .05) !important;
    backdrop-filter: saturate(150%) blur(8px);
    -webkit-backdrop-filter: saturate(150%) blur(8px);
}
html[data-theme="dark"] .asvt-biz-quick-item {
    background: rgba(255, 255, 255, .008) !important;
    border-color: rgba(255, 255, 255, .022) !important;
}
html .asvt-biz-quick-item:hover {
    background: rgba(255, 255, 255, .07) !important;
    border-color: rgba(255, 255, 255, .12) !important;
}
html[data-theme="dark"] .asvt-biz-quick-item:hover {
    background: rgba(255, 255, 255, .028) !important;
    border-color: rgba(255, 255, 255, .06) !important;
}
@media (max-width: 991px) {
    html .asvt-hero-glass .asvt-biz-quick { margin-top: 36px; }
}

/* ═══════════════════════════════════════════════════════════════
   Výzvy v úvode ako sklenené tabuľky — priesvitné, s obrysom
   ═══════════════════════════════════════════════════════════════ */
html .asvt-biz-intro .btn-lg,
html .asvt-biz-intro .btn-lg:focus {
    background: rgba(85, 132, 255, .16) !important;
    border: 1px solid rgba(120, 160, 255, .42) !important;
    color: var(--asvt-primary-ink) !important;
    backdrop-filter: saturate(170%) blur(12px);
    -webkit-backdrop-filter: saturate(170%) blur(12px);
    box-shadow:
        0 1px 2px rgba(16, 24, 40, .05),
        0 8px 22px rgba(85, 132, 255, .12),
        inset 0 1px 0 rgba(255, 255, 255, .18) !important;
    transition: background .45s var(--asvt-ease), border-color .45s var(--asvt-ease), box-shadow .45s var(--asvt-ease);
}
html[data-theme="dark"] .asvt-biz-intro .btn-lg,
html[data-theme="dark"] .asvt-biz-intro .btn-lg:focus {
    background: rgba(120, 160, 255, .10) !important;
    border-color: rgba(150, 180, 255, .30) !important;
    color: #cbd9ff !important;
}
html .asvt-biz-intro .btn-lg:hover {
    background: rgba(85, 132, 255, .28) !important;
    border-color: rgba(120, 160, 255, .62) !important;
    box-shadow:
        0 2px 4px rgba(16, 24, 40, .06),
        0 14px 34px rgba(85, 132, 255, .20),
        inset 0 1px 0 rgba(255, 255, 255, .26) !important;
}
html[data-theme="dark"] .asvt-biz-intro .btn-lg:hover {
    background: rgba(120, 160, 255, .18) !important;
    border-color: rgba(150, 180, 255, .48) !important;
    color: #e4ecff !important;
}
/* Druhá výzva je ešte tichšia — obrysová */
html .asvt-biz-intro .btn-lg.btn-border {
    background: rgba(255, 255, 255, .05) !important;
    border-color: rgba(120, 160, 255, .34) !important;
}
html[data-theme="dark"] .asvt-biz-intro .btn-lg.btn-border {
    background: rgba(255, 255, 255, .022) !important;
    border-color: rgba(150, 180, 255, .24) !important;
}
html .asvt-biz-intro .btn-lg.btn-border:hover {
    background: rgba(255, 255, 255, .12) !important;
    border-color: rgba(120, 160, 255, .55) !important;
}
html[data-theme="dark"] .asvt-biz-intro .btn-lg.btn-border:hover {
    background: rgba(255, 255, 255, .07) !important;
    border-color: rgba(150, 180, 255, .42) !important;
}
html .asvt-biz-intro .btn-lg i { color: inherit !important; }

/* ═══════════════════════════════════════════════════════════════
   Výzvy v úvode ako sklo na Pneu Online — takmer žiadna výplň,
   iba tenký svetlý obrys a rozostrenie za sklom.
   ═══════════════════════════════════════════════════════════════ */
html body .asvt-biz-intro a.btn.btn-lg.circle-button,
html body .asvt-biz-intro a.btn.btn-lg.circle-button:focus {
    background: rgba(255, 255, 255, .16) !important;
    background-image: none !important;
    border: 1px solid rgba(16, 24, 40, .16) !important;
    color: var(--asvt-text) !important;
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    box-shadow:
        0 1px 2px rgba(16, 24, 40, .04),
        inset 0 1px 0 rgba(255, 255, 255, .30) !important;
}
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button,
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button:focus {
    background: rgba(255, 255, 255, .045) !important;
    border-color: rgba(255, 255, 255, .18) !important;
    color: #e8ecf6 !important;
    box-shadow:
        0 1px 2px rgba(0, 0, 0, .22),
        inset 0 1px 0 rgba(255, 255, 255, .09) !important;
}
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover {
    background: rgba(255, 255, 255, .30) !important;
    border-color: rgba(16, 24, 40, .26) !important;
}
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button:hover {
    background: rgba(255, 255, 255, .10) !important;
    border-color: rgba(255, 255, 255, .32) !important;
    color: #fff !important;
}
html .asvt-biz-intro .btn-lg i { color: var(--asvt-primary-ink) !important; }

/* Ikona vo výzve musí zostať viditeľná aj na sklenenom podklade */
html body .asvt-biz-intro a.btn.btn-lg.circle-button i,
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover i {
    color: var(--asvt-primary-ink) !important;
    opacity: 1 !important;
}
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button i {
    color: #9ab8ff !important;
}

/* Podklad úvodu — svetlá sivá, aby sklo malo na čom ležať */
html .asvt-biz-intro {
    background: linear-gradient(160deg, #f4f5f7 0%, #eceef1 52%, #e6e8ec 100%) !important;
}
html[data-theme="dark"] .asvt-biz-intro {
    background: linear-gradient(160deg, #2b2d31 0%, #232529 52%, #1c1e21 100%) !important;
}

/* Kontaktné dlaždice ešte kúsok nižšie — nech dýchajú od bodov dôvery */
html .asvt-hero-glass .asvt-biz-quick { margin-top: 104px; }
@media (max-width: 991px) {
    html .asvt-hero-glass .asvt-biz-quick { margin-top: 48px; }
}

/* ═══════════════════════════════════════════════════════════════
   Odznak na tabuli — jednou ikonou povie, čo je na fotografii
   ═══════════════════════════════════════════════════════════════ */
.asvt-biz-side { position: relative; }
.asvt-biz-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 3;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .34);
    backdrop-filter: saturate(180%) blur(12px);
    -webkit-backdrop-filter: saturate(180%) blur(12px);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .12), 0 6px 16px rgba(16, 24, 40, .16);
    transition: transform .55s var(--asvt-ease), background .55s var(--asvt-ease);
}
html .asvt-biz-badge i { color: #fff !important; font-size: 15px; line-height: 1; }
.asvt-biz-side:hover .asvt-biz-badge {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, .26);
}
html .asvt-biz-caption i { margin-right: 7px; opacity: .85; }

@media (max-width: 991px) {
    .asvt-biz-badge { width: 32px; height: 32px; border-radius: 11px; top: 10px; left: 10px; }
    html .asvt-biz-badge i { font-size: 13px; }
}

/* Nadpis úvodu začína tesne pod hlavičkou — bez medzery navyše */
html .asvt-biz-intro > .content > .row > .col-md-6 { margin-top: -108px; }
html .asvt-hero-glass { padding-top: 8px; }
@media (max-width: 991px) {
    html .asvt-biz-intro > .content > .row > .col-md-6 { margin-top: -70px; }
    html .asvt-hero-glass { padding-top: 6px; }
}

/* ═══════════════════════════════════════════════════════════════
   Úvod na menších obrazovkách
   Šablónové triedy hidden-sm/hidden-xs prekrývajú vlastné pravidlá,
   preto rozloženie riešime vlastnými bodmi zlomu.
   ═══════════════════════════════════════════════════════════════ */
html .asvt-biz-side { position: relative !important; display: block; }
html .asvt-biz-badge {
    position: absolute !important;
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 auto;
}

@media (max-width: 991px) {
    /* Tabule po stranách na tablete a mobile nemajú kam ísť —
       úvod dostane celú šírku pre text a výzvy. */
    html .asvt-biz-intro > .content > .row > .col-md-3 { display: none !important; }
    html .asvt-biz-intro > .content > .row > .col-md-6 {
        width: 100%;
        float: none;
        margin-top: 0 !important;
        padding-top: 0;
    }
    html .asvt-hero-glass {
        margin-left: 0;
        margin-right: 0;
        padding: 24px 16px 28px;
    }
    html .asvt-biz-intro { padding-top: calc(var(--asvt-header-h) + 18px); }
    html .asvt-biz-intro > .content { padding-bottom: 40px !important; }
    html .asvt-biz-intro .asvt-biz-title {
        white-space: normal;
        width: auto;
        font-size: clamp(24px, 6.4vw, 34px);
        line-height: 1.22;
    }
    html .asvt-biz-intro .width-80 { max-width: 100%; font-size: 15px; line-height: 1.75; }
    html .asvt-biz-intro .btn-lg { display: block; width: 100%; margin: 0 0 10px !important; }
    html .asvt-biz-trust { flex-wrap: wrap; justify-content: center; gap: 10px 20px; margin-top: 26px; }
    html .asvt-biz-quick > div { margin-bottom: 10px; }
}

@media (max-width: 575px) {
    html .asvt-hero-glass { padding: 20px 12px 24px; }
    html .asvt-biz-quick > div { width: 100%; float: none; }
    html .asvt-biz-trust .list-item { width: 100%; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════
   Cenník — typická cena, rozpis položiek, prísľub záväznej ceny
   ═══════════════════════════════════════════════════════════════ */

/* Rozpätie hovorí pravdu, typická cena hovorí, čo čakať */
.asvt-price-typical {
    display: block;
    margin-top: 3px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--asvt-text-soft);
    letter-spacing: .01em;
}
html .asvt-price-value span { font-weight: 700; }

/* Z čoho sa cena skladá */
.asvt-price-breakdown { margin-top: 8px; }
.asvt-price-breakdown .row { margin-top: 22px; }
.asvt-price-part {
    height: 100%;
    padding: 22px 20px 20px;
    border-radius: 22px;
    background: rgba(255, 255, 255, .55);
    border: 1px solid rgba(16, 24, 40, .07);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 22px rgba(16, 24, 40, .05);
    margin-bottom: 20px;
    transition: transform .45s var(--asvt-ease), box-shadow .45s var(--asvt-ease);
}
html[data-theme="dark"] .asvt-price-part {
    background: rgba(255, 255, 255, .035);
    border-color: rgba(255, 255, 255, .07);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .22), 0 8px 22px rgba(0, 0, 0, .26);
}
.asvt-price-part:hover {
    transform: translateY(-2px);
    box-shadow: 0 2px 4px rgba(16, 24, 40, .05), 0 14px 30px rgba(16, 24, 40, .08);
}
html .asvt-price-part i { color: var(--asvt-primary-ink) !important; font-size: 20px; }
html .asvt-price-part strong {
    display: block;
    margin: 12px 0 6px;
    font-size: 15px;
    line-height: 1.35;
    color: var(--asvt-text) !important;
}
.asvt-price-part-value {
    display: block;
    margin-bottom: 10px;
    font-size: 17px;
    font-weight: 700;
    color: var(--asvt-text) !important;
}
html .asvt-price-part small {
    display: block;
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--asvt-text-soft) !important;
}
.asvt-price-breakdown-foot { margin-top: 6px; }

/* Prísľub záväznej ceny — odstraňuje neistotu, ktorá bráni dopytu */
.asvt-price-promise {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 14px 0 16px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(85, 132, 255, .08);
    border: 1px solid rgba(85, 132, 255, .18);
    font-size: 13.5px;
    line-height: 1.6;
}
html[data-theme="dark"] .asvt-price-promise {
    background: rgba(120, 160, 255, .07);
    border-color: rgba(120, 160, 255, .16);
}
html .asvt-price-promise i { color: var(--asvt-primary-ink) !important; margin-top: 2px; }

@media (max-width: 991px) {
    .asvt-price-part { padding: 18px 16px 16px; border-radius: 18px; }
    .asvt-price-breakdown .row { margin-top: 16px; }
}

/* Kontaktné dlaždice ešte nižšie — úvod tým dostane pokojnejší spád */
html .asvt-hero-glass .asvt-biz-quick { margin-top: 148px; }
@media (max-width: 991px) {
    html .asvt-hero-glass .asvt-biz-quick { margin-top: 52px; }
}

/* ═══════════════════════════════════════════════════════════════
   Okno spätného volania — širšie, aby sa popisy vošli na riadok
   ═══════════════════════════════════════════════════════════════ */
html .asvt-callback-box {
    width: min(94vw, 480px);
    padding: 26px 28px;
}
/* Popisy polí sa nesmú lámať na dva riadky */
html .asvt-callback-box label,
html .asvt-callback-box .asvt-form-label {
    white-space: nowrap;
    font-size: 12.5px;
}
/* Kontrolná otázka potrebuje šírku na celú vetu */
html .asvt-callback-box .asvt-challenge-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
html .asvt-callback-box .asvt-challenge-q {
    white-space: normal;
    font-size: 13px;
    line-height: 1.45;
    flex: 1 1 auto;
    min-width: 0;
    padding: 9px 11px;
}
html .asvt-callback-box .asvt-challenge-row input {
    flex: 0 0 72px;
    width: 72px;
}
/* Súhlas so spracovaním nech nezaberá tri riadky */
html .asvt-callback-box .asvt-consent { font-size: 12.5px; line-height: 1.55; }

@media (max-width: 575px) {
    html .asvt-callback-box {
        width: calc(100vw - 24px);
        left: 0;
        padding: 20px 18px;
    }
    html .asvt-callback-box label { white-space: normal; }
}

/* V okne spätného volania má kontrolná otázka celú šírku */
html .asvt-callback-box .asvt-challenge {
    width: 100%;
    float: none;
}
html .asvt-callback-box .asvt-challenge .asvt-challenge-q { font-size: 13px; }

/* ═══════════════════════════════════════════════════════════════
   Podklad úvodu — fotografia dielne pod sklom, stlmená tak, aby
   text zostal čitateľný v oboch témach
   ═══════════════════════════════════════════════════════════════ */
html .asvt-biz-intro {
    background-image:
        linear-gradient(160deg, rgba(244, 245, 247, .72) 0%, rgba(236, 238, 241, .64) 52%, rgba(230, 232, 236, .74) 100%),
        var(--asvt-hero-bg) !important;
    background-size: cover, cover !important;
    background-position: center, center 38% !important;
    background-repeat: no-repeat, no-repeat !important;
    background-attachment: scroll, scroll !important;
}
html[data-theme="dark"] .asvt-biz-intro {
    background-image:
        linear-gradient(160deg, rgba(30, 31, 34, .74) 0%, rgba(24, 25, 28, .66) 52%, rgba(19, 20, 22, .78) 100%),
        var(--asvt-hero-bg) !important;
}

/* Odznak sa nesmie roztiahnuť na celú výšku tabule */
html .asvt-biz-stack .asvt-biz-side > .asvt-biz-badge {
    position: absolute !important;
    inset: auto auto auto 14px;
    top: 14px !important;
    bottom: auto !important;
    right: auto !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 0;
    max-width: 38px;
    align-self: flex-start;
}
@media (max-width: 991px) {
    html .asvt-biz-stack .asvt-biz-side > .asvt-biz-badge {
        width: 32px !important; height: 32px !important; max-width: 32px;
        top: 10px !important; left: 10px;
    }
}

/* Text nad výraznejšou fotografiou potrebuje oporu — sklenená
   doska sa mierne zahustí, aby nadpis nesplýval s pozadím. */
html .asvt-hero-glass {
    background: rgba(255, 255, 255, .30) !important;
    border: 1px solid rgba(255, 255, 255, .40) !important;
    backdrop-filter: saturate(170%) blur(18px) !important;
    -webkit-backdrop-filter: saturate(170%) blur(18px) !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 20px 50px rgba(16, 24, 40, .10) !important;
}
html[data-theme="dark"] .asvt-hero-glass {
    background: rgba(18, 19, 22, .42) !important;
    border-color: rgba(255, 255, 255, .09) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .30), 0 20px 50px rgba(0, 0, 0, .42) !important;
}

/* Doska bez vlastného podkladu — fotografia úvodu zostáva neprekrytá */
html .asvt-hero-glass,
html[data-theme="dark"] .asvt-hero-glass,
html .asvt-hero-glass:hover,
html[data-theme="dark"] .asvt-hero-glass:hover {
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Fotografia úvodu do sivej — farby nesmú súperiť s obsahom */
html .asvt-biz-intro {
    background-image:
        linear-gradient(160deg, rgba(238, 239, 241, .70) 0%, rgba(230, 232, 235, .62) 52%, rgba(223, 225, 229, .72) 100%),
        var(--asvt-hero-bg) !important;
    background-blend-mode: normal, luminosity;
    background-color: #9aa0a8;
}
html[data-theme="dark"] .asvt-biz-intro {
    background-image:
        linear-gradient(160deg, rgba(28, 29, 32, .74) 0%, rgba(22, 23, 26, .66) 52%, rgba(17, 18, 20, .78) 100%),
        var(--asvt-hero-bg) !important;
    background-color: #3a3d42;
}

/* ═══════════════════════════════════════════════════════════════
   Úvod: fotografia odfarbená do sivej, prekrytie nad ňou
   Odfarbenie sa nedá spoľahlivo urobiť cez miešanie vrstiev
   pozadia, preto fotografiu nesie samostatná vrstva s filtrom.
   ═══════════════════════════════════════════════════════════════ */
html .asvt-biz-intro {
    background-image: none !important;
    background-color: #e9eaec !important;
}
html[data-theme="dark"] .asvt-biz-intro { background-color: #17181a !important; }

html .asvt-biz-intro::after {
    content: '';
    display: block !important;
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: var(--asvt-hero-bg);
    background-size: cover;
    background-position: center 38%;
    background-repeat: no-repeat;
    filter: grayscale(1) contrast(1.04) brightness(1.02);
}
html[data-theme="dark"] .asvt-biz-intro::after {
    filter: grayscale(1) contrast(1.02) brightness(.72);
}

/* Prekrytie nad fotografiou drží text čitateľný */
html .asvt-biz-intro::before {
    content: '';
    display: block !important;
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(160deg,
        rgba(236, 237, 239, .62) 0%,
        rgba(228, 229, 232, .54) 52%,
        rgba(220, 222, 226, .66) 100%);
    transform: none;
    filter: none;
}
html[data-theme="dark"] .asvt-biz-intro::before {
    background: linear-gradient(160deg,
        rgba(24, 25, 27, .70) 0%,
        rgba(19, 20, 22, .62) 52%,
        rgba(15, 16, 18, .76) 100%);
}
html .asvt-biz-intro > .content { position: relative; z-index: 3; }
html .asvt-biz-intro .asvt-glass { z-index: 20; }

/* ═══════════════════════════════════════════════════════════════
   Text úvodu musí byť čitateľný aj nad svetlými miestami fotografie
   ═══════════════════════════════════════════════════════════════ */

/* Za samotným textom je jemný stmavený pás — fotografia zostáva
   viditeľná, ale písmo má na čom stáť. */
html .asvt-hero-glass::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 30px;
    pointer-events: none;
    background: radial-gradient(120% 100% at 50% 45%,
        rgba(255, 255, 255, .82) 0%,
        rgba(255, 255, 255, .62) 55%,
        rgba(255, 255, 255, 0) 100%);
}
html[data-theme="dark"] .asvt-hero-glass::after {
    background: radial-gradient(120% 100% at 50% 45%,
        rgba(12, 13, 15, .78) 0%,
        rgba(12, 13, 15, .58) 55%,
        rgba(12, 13, 15, 0) 100%);
}
html .asvt-hero-glass { position: relative; z-index: 1; }

/* Písmo dostane väčšiu váhu a jemný obrys proti svetlému podkladu */
html .asvt-biz-intro .width-80 {
    color: #2b3040 !important;
    font-weight: 500;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .55);
}
html[data-theme="dark"] .asvt-biz-intro .width-80 {
    color: #dfe4ee !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .55);
}
html .asvt-biz-intro .asvt-biz-title { text-shadow: 0 1px 0 rgba(255, 255, 255, .45); }
html[data-theme="dark"] .asvt-biz-intro .asvt-biz-title { text-shadow: 0 2px 6px rgba(0, 0, 0, .55); }
html .asvt-biz-tags span { text-shadow: 0 1px 0 rgba(255, 255, 255, .5); }
html[data-theme="dark"] .asvt-biz-tags span { text-shadow: 0 1px 3px rgba(0, 0, 0, .6); }
html .asvt-biz-trust label { color: #3a4054 !important; font-weight: 600; }
html[data-theme="dark"] .asvt-biz-trust label { color: #d6dbe6 !important; }

/* Text úvodu výrazne čitateľnejší — tmavšie písmo, väčšia váha
   a hustejšie prekrytie fotografie pod ním */
html .asvt-hero-glass::after {
    background: radial-gradient(130% 110% at 50% 45%,
        rgba(255, 255, 255, .94) 0%,
        rgba(255, 255, 255, .82) 58%,
        rgba(255, 255, 255, .30) 100%);
}
html[data-theme="dark"] .asvt-hero-glass::after {
    background: radial-gradient(130% 110% at 50% 45%,
        rgba(10, 11, 13, .92) 0%,
        rgba(10, 11, 13, .78) 58%,
        rgba(10, 11, 13, .28) 100%);
}

html .asvt-biz-intro .asvt-biz-title {
    color: #10131c !important;
    font-weight: 900;
    text-shadow: none;
}
html[data-theme="dark"] .asvt-biz-intro .asvt-biz-title { color: #ffffff !important; }
html .asvt-biz-intro .asvt-rotate-word { color: #2f5fe0 !important; }
html[data-theme="dark"] .asvt-biz-intro .asvt-rotate-word { color: #9ab8ff !important; }

html .asvt-biz-intro .width-80 {
    color: #232838 !important;
    font-weight: 500;
    font-size: 16.5px;
    text-shadow: none;
}
html[data-theme="dark"] .asvt-biz-intro .width-80 { color: #e7ebf3 !important; }

html .asvt-biz-tags span { color: #2f5fe0 !important; font-weight: 700; text-shadow: none; }
html[data-theme="dark"] .asvt-biz-tags span { color: #9ab8ff !important; }

html .asvt-biz-trust label { color: #232838 !important; font-weight: 600; }
html[data-theme="dark"] .asvt-biz-trust label { color: #e7ebf3 !important; }
html .asvt-biz-trust i { color: #2f5fe0 !important; }
html[data-theme="dark"] .asvt-biz-trust i { color: #9ab8ff !important; }

/* Tlačidlá a dlaždice tiež potrebujú pevnejší podklad */
html body .asvt-biz-intro a.btn.btn-lg.circle-button {
    background: rgba(255, 255, 255, .82) !important;
    border-color: rgba(16, 24, 40, .16) !important;
    color: #10131c !important;
    font-weight: 600;
}
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button {
    background: rgba(255, 255, 255, .10) !important;
    border-color: rgba(255, 255, 255, .22) !important;
    color: #f2f5fa !important;
}
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover {
    background: #2f5fe0 !important;
    border-color: #2f5fe0 !important;
    color: #fff !important;
}
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover i { color: #fff !important; }

html .asvt-biz-quick-item {
    background: rgba(255, 255, 255, .72) !important;
    border-color: rgba(16, 24, 40, .10) !important;
}
html[data-theme="dark"] .asvt-biz-quick-item {
    background: rgba(255, 255, 255, .07) !important;
    border-color: rgba(255, 255, 255, .10) !important;
}
html .asvt-biz-quick-item strong { color: #10131c !important; font-weight: 700; }
html[data-theme="dark"] .asvt-biz-quick-item strong { color: #ffffff !important; }
html .asvt-biz-quick-item small { color: #4a5065 !important; }
html[data-theme="dark"] .asvt-biz-quick-item small { color: #c3c9d6 !important; }

/* ═══════════════════════════════════════════════════════════════
   Výzvy v úvode — tmavšie sivé sklo, cez ktoré presvitá fotografia
   ═══════════════════════════════════════════════════════════════ */
html body .asvt-biz-intro a.btn.btn-lg.circle-button,
html body .asvt-biz-intro a.btn.btn-lg.circle-button:focus {
    background: rgba(58, 62, 70, .42) !important;
    border: 1px solid rgba(255, 255, 255, .26) !important;
    color: #ffffff !important;
    font-weight: 600;
    backdrop-filter: saturate(150%) blur(12px);
    -webkit-backdrop-filter: saturate(150%) blur(12px);
    box-shadow:
        0 1px 2px rgba(16, 24, 40, .10),
        inset 0 1px 0 rgba(255, 255, 255, .16) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button,
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button:focus {
    background: rgba(38, 41, 47, .52) !important;
    border-color: rgba(255, 255, 255, .16) !important;
}
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover {
    background: rgba(38, 41, 47, .62) !important;
    border-color: rgba(255, 255, 255, .42) !important;
    color: #ffffff !important;
}
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button:hover {
    background: rgba(28, 30, 35, .70) !important;
    border-color: rgba(255, 255, 255, .30) !important;
}
html body .asvt-biz-intro a.btn.btn-lg.circle-button i,
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover i {
    color: #ffffff !important;
}


/* Náhľad v karte má pevnú výšku — fotografia sa doň vloží orezaním,
   takže karty v riadku vyzerajú rovnako bez ohľadu na pomer strán. */
html .asvt-post-card > .img-box,
html .asvt-slide-card > .img-box {
    display: block;
    width: 100%;
    height: 190px;
    overflow: hidden;
    flex: 0 0 auto;
}
html .asvt-post-card > .img-box img,
html .asvt-slide-card > .img-box img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    display: block;
    aspect-ratio: auto !important;
}
@media (max-width: 767px) {
    html .asvt-post-card > .img-box,
    html .asvt-slide-card > .img-box { height: 210px; }
}

/* Vložená mapa vyplní celý rám */
html .asvt-map.is-live { position: relative; overflow: hidden; }
html .asvt-map-frame {
    display: block;
    width: 100%;
    height: 460px;
    border: 0;
    filter: none;
}
@media (max-width: 767px) {
    html .asvt-map-frame { height: 340px; }
}
html .asvt-map.is-live .asvt-map-card { z-index: 3; }

/* ═══════════════════════════════════════════════════════════════
   Podmenu sa na väčších obrazovkách otvára prechodom myši.
   Otváranie klikom riešili dva skripty naraz, takže sa menu
   otvorilo a hneď zase zavrelo.
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 992px) {
    html .asvt-header li.dropdown > .dropdown-menu,
    html .asvt-header li.dropdown > .mega-menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-6px);
        transition: opacity .22s var(--asvt-ease), transform .22s var(--asvt-ease), visibility .22s;
    }
    html .asvt-header li.dropdown:hover > .dropdown-menu,
    html .asvt-header li.dropdown:hover > .mega-menu,
    html .asvt-header li.dropdown:focus-within > .dropdown-menu,
    html .asvt-header li.dropdown:focus-within > .mega-menu,
    html .asvt-header li.dropdown.open > .dropdown-menu,
    html .asvt-header li.dropdown.open > .mega-menu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }
    /* Medzeru medzi položkou a panelom premostíme, aby sa pri
       prechode myšou nadol menu nestratilo. */
    html .asvt-header li.dropdown > .dropdown-menu::before,
    html .asvt-header li.dropdown > .mega-menu::before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: -14px;
        height: 14px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   Body dôvery — vlastný sklenený pás, aby ich fotografia neprehltla
   ═══════════════════════════════════════════════════════════════ */
html .asvt-biz-trust {
    display: inline-flex;
    padding: 12px 22px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(16, 24, 40, .07);
    backdrop-filter: saturate(170%) blur(14px);
    -webkit-backdrop-filter: saturate(170%) blur(14px);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 8px 22px rgba(16, 24, 40, .07);
}
html[data-theme="dark"] .asvt-biz-trust {
    background: rgba(16, 17, 20, .72);
    border-color: rgba(255, 255, 255, .09);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .30), 0 8px 22px rgba(0, 0, 0, .38);
}
html .asvt-biz-trust label {
    color: #171b26 !important;
    font-weight: 600;
    font-size: 13.5px;
    text-shadow: none;
}
html[data-theme="dark"] .asvt-biz-trust label { color: #f0f3f8 !important; }
html .asvt-biz-trust i { color: #2f5fe0 !important; }
html[data-theme="dark"] .asvt-biz-trust i { color: #9ab8ff !important; }

@media (max-width: 991px) {
    html .asvt-biz-trust { display: flex; padding: 12px 14px; border-radius: 16px; }
}

/* ═══════════════════════════════════════════════════════════════
   Kontaktné dlaždice — tmavšie sivé sklo, cez ktoré presvitá
   fotografia, ale údaje zostanú čitateľné
   ═══════════════════════════════════════════════════════════════ */
html .asvt-biz-quick-item {
    background: rgba(52, 56, 64, .46) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    backdrop-filter: saturate(160%) blur(14px);
    -webkit-backdrop-filter: saturate(160%) blur(14px);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .10), 0 8px 22px rgba(16, 24, 40, .12);
}
html[data-theme="dark"] .asvt-biz-quick-item {
    background: rgba(34, 36, 42, .58) !important;
    border-color: rgba(255, 255, 255, .12) !important;
}
html .asvt-biz-quick-item:hover {
    background: rgba(38, 41, 48, .60) !important;
    border-color: rgba(255, 255, 255, .32) !important;
}
html[data-theme="dark"] .asvt-biz-quick-item:hover {
    background: rgba(26, 28, 33, .70) !important;
    border-color: rgba(255, 255, 255, .22) !important;
}
html .asvt-biz-quick-item strong,
html[data-theme="dark"] .asvt-biz-quick-item strong {
    color: #ffffff !important;
    font-weight: 700;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .30);
}
html .asvt-biz-quick-item small,
html[data-theme="dark"] .asvt-biz-quick-item small {
    color: rgba(255, 255, 255, .82) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .28);
}
html .asvt-biz-quick-item i,
html[data-theme="dark"] .asvt-biz-quick-item i { color: #a8c2ff !important; }
html .asvt-biz-quick-item.is-open small,
html[data-theme="dark"] .asvt-biz-quick-item.is-open small { color: #7fe3b0 !important; font-weight: 600; }

/* ═══════════════════════════════════════════════════════════════
   Výzvy v úvode — sklenené, sotva zafarbené, s výrazným obrysom
   ═══════════════════════════════════════════════════════════════ */
html body .asvt-biz-intro a.btn.btn-lg.circle-button,
html body .asvt-biz-intro a.btn.btn-lg.circle-button:focus {
    /* Tmavšie sklo než podklad — biely nápis tak zostane čitateľný
       aj nad svetlými miestami fotografie. */
    background: rgba(34, 38, 46, .34) !important;
    border: 1px solid rgba(255, 255, 255, .42) !important;
    color: #ffffff !important;
    backdrop-filter: saturate(190%) blur(18px);
    -webkit-backdrop-filter: saturate(190%) blur(18px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .35),
        0 2px 12px rgba(16, 24, 40, .12) !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .45);
}
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button,
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button:focus {
    background: rgba(24, 26, 32, .42) !important;
    border-color: rgba(255, 255, 255, .28) !important;
}
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover {
    background: rgba(24, 26, 32, .52) !important;
    border-color: rgba(255, 255, 255, .70) !important;
    color: #ffffff !important;
}
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button:hover {
    background: rgba(18, 20, 25, .58) !important;
    border-color: rgba(255, 255, 255, .48) !important;
}
html body .asvt-biz-intro a.btn.btn-lg.circle-button i,
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover i {
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .45);
}

/* ═══════════════════════════════════════════════════════════════
   Úvod bez fotografie na pozadí — zostáva čistá plocha,
   prasklina a sklenené prvky
   ═══════════════════════════════════════════════════════════════ */
html .asvt-biz-intro {
    background: #f2f3f5 !important;
    background-image: none !important;
}
html[data-theme="dark"] .asvt-biz-intro { background: #16171a !important; }

/* Podklad úvodu: oprava čelného skla, odfarbená do sivej */
html .asvt-biz-intro::after {
    display: block !important;
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: var(--asvt-hero-bg);
    background-size: cover;
    background-position: center 42%;
    background-repeat: no-repeat;
    filter: grayscale(1) contrast(1.02);
    opacity: .38;
}
html[data-theme="dark"] .asvt-biz-intro::after {
    filter: grayscale(1) contrast(1.02) brightness(.62);
    opacity: .46;
}
/* Jemné presvetlenie, aby text nemusel bojovať s detailmi fotografie */
html .asvt-biz-intro::before {
    display: block !important;
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg,
        rgba(242, 243, 245, .55) 0%,
        rgba(242, 243, 245, .30) 45%,
        rgba(242, 243, 245, .62) 100%);
    transform: none;
    filter: none;
}
html[data-theme="dark"] .asvt-biz-intro::before {
    background: linear-gradient(180deg,
        rgba(22, 23, 26, .62) 0%,
        rgba(22, 23, 26, .38) 45%,
        rgba(22, 23, 26, .70) 100%);
}

/* Text sa vracia k bežným farbám, podklad ho už neruší */
html .asvt-hero-glass::after { display: none !important; }
html .asvt-biz-intro .asvt-biz-title { color: var(--asvt-text) !important; text-shadow: none; }
html .asvt-biz-intro .width-80 { color: var(--asvt-text-soft) !important; text-shadow: none; }

html .asvt-biz-trust {
    background: rgba(255, 255, 255, .55);
    border-color: rgba(16, 24, 40, .06);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}
html[data-theme="dark"] .asvt-biz-trust {
    background: rgba(255, 255, 255, .04);
    border-color: rgba(255, 255, 255, .07);
}
html .asvt-biz-trust label { color: var(--asvt-text) !important; }
html[data-theme="dark"] .asvt-biz-trust label { color: var(--asvt-text) !important; }

html .asvt-biz-quick-item {
    background: rgba(255, 255, 255, .60) !important;
    border-color: rgba(16, 24, 40, .07) !important;
}
html[data-theme="dark"] .asvt-biz-quick-item {
    background: rgba(255, 255, 255, .04) !important;
    border-color: rgba(255, 255, 255, .07) !important;
}
html .asvt-biz-quick-item strong { color: var(--asvt-text) !important; text-shadow: none; }
html[data-theme="dark"] .asvt-biz-quick-item strong { color: var(--asvt-text) !important; }
html .asvt-biz-quick-item small { color: var(--asvt-text-soft) !important; text-shadow: none; }
html[data-theme="dark"] .asvt-biz-quick-item small { color: var(--asvt-text-soft) !important; }
html .asvt-biz-quick-item i { color: var(--asvt-primary-ink) !important; }

html body .asvt-biz-intro a.btn.btn-lg.circle-button,
html body .asvt-biz-intro a.btn.btn-lg.circle-button:focus {
    background: rgba(255, 255, 255, .55) !important;
    border-color: rgba(16, 24, 40, .14) !important;
    color: var(--asvt-text) !important;
    text-shadow: none;
}
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button,
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button:focus {
    background: rgba(255, 255, 255, .05) !important;
    border-color: rgba(255, 255, 255, .16) !important;
    color: var(--asvt-text) !important;
}
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover {
    background: var(--asvt-primary) !important;
    border-color: var(--asvt-primary) !important;
    color: #fff !important;
}
html body .asvt-biz-intro a.btn.btn-lg.circle-button i { color: var(--asvt-primary-ink) !important; text-shadow: none; }
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover i { color: #fff !important; }

/* ═══════════════════════════════════════════════════════════════
   Úvod v duchu filtra na Pneu Online: tmavší podklad a na ňom
   prvky z takmer neviditeľného skla — len obrys a rozostrenie
   ═══════════════════════════════════════════════════════════════ */
html .asvt-biz-intro::after { opacity: .72 !important; filter: grayscale(1) contrast(1.02) brightness(.78) !important; }
html[data-theme="dark"] .asvt-biz-intro::after { opacity: .62 !important; filter: grayscale(1) contrast(1.02) brightness(.60) !important; }
html .asvt-biz-intro::before {
    background: linear-gradient(180deg,
        rgba(26, 29, 34, .42) 0%,
        rgba(26, 29, 34, .26) 45%,
        rgba(26, 29, 34, .50) 100%) !important;
}
html[data-theme="dark"] .asvt-biz-intro::before {
    background: linear-gradient(180deg,
        rgba(10, 11, 13, .66) 0%,
        rgba(10, 11, 13, .48) 45%,
        rgba(10, 11, 13, .74) 100%) !important;
}
html .asvt-biz-intro { background: #4a4f57 !important; }
html[data-theme="dark"] .asvt-biz-intro { background: #101215 !important; }

/* Text na tmavom skle */
html .asvt-biz-intro .asvt-biz-title,
html[data-theme="dark"] .asvt-biz-intro .asvt-biz-title { color: #ffffff !important; }
html .asvt-biz-intro .asvt-rotate-word,
html[data-theme="dark"] .asvt-biz-intro .asvt-rotate-word { color: #9ab8ff !important; }
html .asvt-biz-intro .width-80,
html[data-theme="dark"] .asvt-biz-intro .width-80 { color: rgba(255, 255, 255, .88) !important; }
html .asvt-biz-tags span,
html[data-theme="dark"] .asvt-biz-tags span { color: #9ab8ff !important; }

/* Výzvy — obrys a rozostrenie, výplň takmer žiadna */
html body .asvt-biz-intro a.btn.btn-lg.circle-button,
html body .asvt-biz-intro a.btn.btn-lg.circle-button:focus,
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button {
    background: rgba(255, 255, 255, .06) !important;
    border: 1px solid rgba(255, 255, 255, .38) !important;
    color: #ffffff !important;
    backdrop-filter: saturate(180%) blur(16px);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16) !important;
    text-shadow: none;
}
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover,
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button:hover {
    background: rgba(255, 255, 255, .16) !important;
    border-color: rgba(255, 255, 255, .70) !important;
    color: #ffffff !important;
}
html body .asvt-biz-intro a.btn.btn-lg.circle-button i,
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover i { color: #ffffff !important; }

/* Body dôvery */
html .asvt-biz-trust,
html[data-theme="dark"] .asvt-biz-trust {
    background: rgba(255, 255, 255, .05) !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}
html .asvt-biz-trust label,
html[data-theme="dark"] .asvt-biz-trust label { color: rgba(255, 255, 255, .92) !important; }
html .asvt-biz-trust i,
html[data-theme="dark"] .asvt-biz-trust i { color: #9ab8ff !important; }

/* Kontaktné dlaždice */
html .asvt-biz-quick-item,
html[data-theme="dark"] .asvt-biz-quick-item {
    background: rgba(255, 255, 255, .05) !important;
    border: 1px solid rgba(255, 255, 255, .20) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10) !important;
}
html .asvt-biz-quick-item:hover,
html[data-theme="dark"] .asvt-biz-quick-item:hover {
    background: rgba(255, 255, 255, .13) !important;
    border-color: rgba(255, 255, 255, .42) !important;
}
html .asvt-biz-quick-item strong,
html[data-theme="dark"] .asvt-biz-quick-item strong { color: #ffffff !important; text-shadow: none; }
html .asvt-biz-quick-item small,
html[data-theme="dark"] .asvt-biz-quick-item small { color: rgba(255, 255, 255, .78) !important; text-shadow: none; }
html .asvt-biz-quick-item i,
html[data-theme="dark"] .asvt-biz-quick-item i { color: #9ab8ff !important; }
html .asvt-biz-quick-item.is-open small,
html[data-theme="dark"] .asvt-biz-quick-item.is-open small { color: #7fe3b0 !important; }

/* Odznaky na tabuliach zladíme s rovnakým sklom */
html .asvt-biz-badge {
    background: rgba(255, 255, 255, .10);
    border-color: rgba(255, 255, 255, .30);
}

/* Prasklina nad tmavým podkladom */
html .asvt-glass-crack path { stroke: rgba(255, 255, 255, .42); filter: none; }
html .asvt-glass-crack .asvt-crack-main { stroke: rgba(255, 255, 255, .58); }

/* Sklo v úvode ešte priesvitnejšie — z prvkov zostane takmer len obrys */
html body .asvt-biz-intro a.btn.btn-lg.circle-button,
html body .asvt-biz-intro a.btn.btn-lg.circle-button:focus,
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button {
    background: rgba(255, 255, 255, .025) !important;
    border-color: rgba(255, 255, 255, .28) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09) !important;
}
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover,
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button:hover {
    background: rgba(255, 255, 255, .10) !important;
    border-color: rgba(255, 255, 255, .55) !important;
}

html .asvt-biz-trust,
html[data-theme="dark"] .asvt-biz-trust {
    background: rgba(255, 255, 255, .02) !important;
    border-color: rgba(255, 255, 255, .14) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07) !important;
}

html .asvt-biz-quick-item,
html[data-theme="dark"] .asvt-biz-quick-item {
    background: rgba(255, 255, 255, .02) !important;
    border-color: rgba(255, 255, 255, .13) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}
html .asvt-biz-quick-item:hover,
html[data-theme="dark"] .asvt-biz-quick-item:hover {
    background: rgba(255, 255, 255, .08) !important;
    border-color: rgba(255, 255, 255, .30) !important;
}

html .asvt-biz-badge {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .22);
}

/* Sklo v úvode na hranici viditeľnosti — len naznačená hrana */
html body .asvt-biz-intro a.btn.btn-lg.circle-button,
html body .asvt-biz-intro a.btn.btn-lg.circle-button:focus,
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button {
    background: transparent !important;
    border-color: rgba(255, 255, 255, .17) !important;
    box-shadow: none !important;
    backdrop-filter: saturate(140%) blur(6px);
    -webkit-backdrop-filter: saturate(140%) blur(6px);
}
html body .asvt-biz-intro a.btn.btn-lg.circle-button:hover,
html[data-theme="dark"] body .asvt-biz-intro a.btn.btn-lg.circle-button:hover {
    background: rgba(255, 255, 255, .07) !important;
    border-color: rgba(255, 255, 255, .42) !important;
}

html .asvt-biz-trust,
html[data-theme="dark"] .asvt-biz-trust {
    background: transparent !important;
    border-color: rgba(255, 255, 255, .09) !important;
    box-shadow: none !important;
    backdrop-filter: saturate(140%) blur(6px);
    -webkit-backdrop-filter: saturate(140%) blur(6px);
}

html .asvt-biz-quick-item,
html[data-theme="dark"] .asvt-biz-quick-item {
    background: transparent !important;
    border-color: rgba(255, 255, 255, .09) !important;
    box-shadow: none !important;
    backdrop-filter: saturate(140%) blur(6px);
    -webkit-backdrop-filter: saturate(140%) blur(6px);
}
html .asvt-biz-quick-item:hover,
html[data-theme="dark"] .asvt-biz-quick-item:hover {
    background: rgba(255, 255, 255, .06) !important;
    border-color: rgba(255, 255, 255, .24) !important;
}

html .asvt-biz-badge {
    background: rgba(255, 255, 255, .04);
    border-color: rgba(255, 255, 255, .16);
}
