/* Contractors v2 shared infinite-scroll alignment. Keep after earlier experiments. */
html .vario-win-content:has(.vario-directory-v2),
html[data-vario-theme] .vario-win-content:has(.vario-directory-v2) {
    height: calc(100dvh - 46px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html .vario-directory-v2,
html[data-vario-theme] .vario-directory-v2 {
    display: grid !important;
    grid-template-rows: 126px minmax(0, 1fr) 218px !important;
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
}

html .vario-directory-v2 .vario-directory-list-v2,
html[data-vario-theme] .vario-directory-v2 .vario-directory-list-v2 {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) 24px !important;
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    position: relative !important;
    padding: 0 !important;
}

html .vario-directory-v2 .vario-directory-scroll-v2,
html[data-vario-theme] .vario-directory-v2 .vario-directory-scroll-v2 {
    position: static !important;
    inset: auto !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: none !important;
    overflow: auto !important;
    padding: 0 !important;
    overscroll-behavior: contain !important;
}

html .vario-directory-v2 .vario-directory-scroll-v2 .vario-data-grid,
html[data-vario-theme] .vario-directory-v2 .vario-directory-scroll-v2 .vario-data-grid {
    margin-bottom: 0 !important;
}

html .vario-directory-v2 .vario-list-load-sentinel,
html[data-vario-theme] .vario-directory-v2 .vario-list-load-sentinel {
    display: block !important;
    height: 1px !important;
    min-height: 1px !important;
}

html .vario-directory-v2 .vario-directory-footer-v2,
html[data-vario-theme] .vario-directory-v2 .vario-directory-footer-v2 {
    position: static !important;
    inset: auto !important;
    grid-row: 2 !important;
    z-index: 1 !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    margin: 0 !important;
    border-radius: 0 0 12px 12px !important;
}

html .vario-directory-v2 .vario-directory-preview-v2,
html[data-vario-theme] .vario-directory-v2 .vario-directory-preview-v2 {
    grid-area: preview !important;
    display: grid !important;
    grid-template-columns: minmax(230px, 0.46fr) minmax(0, 1.65fr) minmax(190px, 0.38fr) !important;
    grid-template-rows: 43px minmax(0, 1fr) !important;
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    border: 1px solid #dce6f4 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(15, 31, 61, 0.05) !important;
}

html .vario-directory-v2 .vario-contractors-preview-header,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-preview-header {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 12px 16px !important;
    border-right: 1px solid #edf2f8 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}

html .vario-directory-v2 .vario-contractors-preview-header h2,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-preview-header h2 {
    display: -webkit-box !important;
    max-height: 69px !important;
    overflow: hidden !important;
    font-size: 18px !important;
    line-height: 1.18 !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
}

html .vario-directory-v2 .vario-directory-preview-tabs-v2,
html[data-vario-theme] .vario-directory-v2 .vario-directory-preview-tabs-v2 {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: end !important;
    gap: 0 !important;
    min-height: 43px !important;
    padding: 0 18px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e4ebf5 !important;
}

html .vario-directory-v2 .vario-directory-preview-tabs-v2 .vario-contractors-preview-tab,
html[data-vario-theme] .vario-directory-v2 .vario-directory-preview-tabs-v2 .vario-contractors-preview-tab,
html .vario-directory-v2 .vario-directory-preview-tabs-v2 .vario-contractors-preview-tab:nth-child(n),
html[data-vario-theme] .vario-directory-v2 .vario-directory-preview-tabs-v2 .vario-contractors-preview-tab:nth-child(n) {
    position: relative !important;
    flex: 0 0 auto !important;
    height: 43px !important;
    min-height: 43px !important;
    padding: 0 18px !important;
    margin: 0 !important;
    color: #526987 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font: 800 12px Inter, "Segoe UI", Arial, sans-serif !important;
    white-space: nowrap !important;
}

html .vario-directory-v2 .vario-directory-preview-tabs-v2 .vario-contractors-preview-tab+.vario-contractors-preview-tab::before,
html[data-vario-theme] .vario-directory-v2 .vario-directory-preview-tabs-v2 .vario-contractors-preview-tab+.vario-contractors-preview-tab::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 13px !important;
    width: 1px !important;
    height: 17px !important;
    background: #d5dfed !important;
}

html .vario-directory-v2 .vario-directory-preview-tabs-v2 .vario-contractors-preview-tab.active,
html[data-vario-theme] .vario-directory-v2 .vario-directory-preview-tabs-v2 .vario-contractors-preview-tab.active,
html .vario-directory-v2 .vario-directory-preview-tabs-v2 .vario-contractors-preview-tab:nth-child(n).active,
html[data-vario-theme] .vario-directory-v2 .vario-directory-preview-tabs-v2 .vario-contractors-preview-tab:nth-child(n).active {
    color: #1263f1 !important;
    background: transparent !important;
    border-bottom-color: #1263f1 !important;
}

html .vario-directory-v2 .vario-contractors-preview-body,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-preview-body {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-height: 0 !important;
    overflow: auto !important;
    padding: 12px !important;
}

html .vario-directory-v2 .vario-contractors-preview-footer,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-preview-footer {
    grid-column: 3 !important;
    grid-row: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: end !important;
    gap: 10px !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 12px !important;
    border-top: 0 !important;
    border-left: 1px solid #edf2f8 !important;
    background: #fbfdff !important;
}

html .vario-directory-v2 .vario-preview-card,
html[data-vario-theme] .vario-directory-v2 .vario-preview-card {
    margin-bottom: 10px !important;
    padding: 12px !important;
    border-color: var(--vario-list-border-soft, var(--vario-color-border-soft)) !important;
    border-radius: 12px !important;
}

html .vario-context-menu,
html[data-vario-theme] .vario-context-menu {
    padding: 8px !important;
    border: 1px solid #dce6f4 !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 20px 48px rgba(8, 27, 58, 0.18) !important;
}

html .vario-context-menu-action,
html[data-vario-theme] .vario-context-menu-action {
    min-height: 32px !important;
    padding: 7px 10px !important;
    border-radius: 8px !important;
    color: #0b2555 !important;
    font: 700 12.5px Inter, "Segoe UI", Arial, sans-serif !important;
}

html .vario-context-menu-action:hover,
html[data-vario-theme] .vario-context-menu-action:hover,
html .vario-context-menu-action:focus,
html[data-vario-theme] .vario-context-menu-action:focus {
    color: #0b2555 !important;
    background: #eaf2ff !important;
}

@media (max-height: 780px) {

    html .vario-directory-v2,
    html[data-vario-theme] .vario-directory-v2 {
        grid-template-rows: auto minmax(154px, 1fr) minmax(258px, 36vh) !important;
        gap: 10px !important;
        height: calc(100dvh - 82px) !important;
    }
}

html .vario-contractors-preview-body,
html[data-vario-theme] .vario-contractors-preview-body {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-height: 0 !important;
    overflow: auto !important;
    padding: 12px 12px 18px !important;
}

html .vario-contractors-preview-footer,
html[data-vario-theme] .vario-contractors-preview-footer {
    grid-column: 3 !important;
    grid-row: 2 !important;
    width: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    align-content: end !important;
    border-top: 0 !important;
    border-left: 1px solid #edf1f7 !important;
}

html .vario-preview-card,
html[data-vario-theme] .vario-preview-card {
    margin-bottom: 10px !important;
    padding: 12px !important;
}

html .vario-preview-summary-grid,
html[data-vario-theme] .vario-preview-summary-grid {
    grid-template-columns: repeat(4, minmax(100px, 1fr)) !important;
}

