/* Contractors v2 density and unified panels. */
html .vario-directory-v2,
html[data-vario-theme] .vario-directory-v2 {
    --vario-directory-x: clamp(8px, 0.95vw, 16px) !important;
    --vario-directory-y: 8px !important;
    gap: 6px !important;
    grid-template-rows: 116px minmax(0, 1fr) 214px !important;
}

html .vario-directory-v2 .vario-contractors-search,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-search {
    border-radius: 14px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

html .vario-directory-v2 .vario-search-form,
html[data-vario-theme] .vario-directory-v2 .vario-search-form {
    display: grid !important;
    grid-template-rows: 28px 38px 50px !important;
    height: 116px !important;
    padding: 0 !important;
}

html .vario-directory-v2 .vario-search-tabs,
html .vario-directory-v2 .vario-contractors-preview-tabs,
html[data-vario-theme] .vario-directory-v2 .vario-search-tabs,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-preview-tabs {
    height: 28px !important;
    min-height: 28px !important;
    align-items: stretch !important;
    gap: 10px !important;
    padding: 0 10px !important;
    border-bottom: 1px solid #d8e2f2 !important;
    background: #f8fbff !important;
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}

html .vario-directory-v2 .vario-search-tab,
html .vario-directory-v2 .vario-contractors-preview-tab,
html[data-vario-theme] .vario-directory-v2 .vario-search-tab,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-preview-tab {
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 15px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #45607f !important;
    font: 700 11px/28px Inter, "Segoe UI", Arial, sans-serif !important;
    white-space: nowrap !important;
}

html .vario-directory-v2 .vario-search-tab.active,
html .vario-directory-v2 .vario-contractors-preview-tab.active,
html[data-vario-theme] .vario-directory-v2 .vario-search-tab.active,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-preview-tab.active {
    color: #075ee7 !important;
    box-shadow: inset 0 -2px 0 #2563eb !important;
}

html .vario-directory-v2 .vario-contractors-top-search,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-top-search {
    height: 38px !important;
    min-height: 38px !important;
    padding: 4px 10px !important;
    gap: 8px !important;
    align-items: center !important;
}

html .vario-directory-v2 .vario-contractors-filter-main,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-filter-main {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: hidden !important;
}

html .vario-directory-v2 .vario-contractors-filter-actions,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-filter-actions {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

html .vario-directory-v2 .vario-contractors-search-input-wrap,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-search-input-wrap {
    flex: 1 1 220px !important;
    max-width: 280px !important;
    min-width: 150px !important;
}

html .vario-directory-v2 .vario-contractors-filter-field,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-filter-field {
    flex: 1 1 118px !important;
    max-width: 154px !important;
    min-width: 104px !important;
    gap: 2px !important;
}

html .vario-directory-v2 .vario-contractors-filter-field>span,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-filter-field>span,
html .vario-directory-v2 .vario-search-field .form-label,
html[data-vario-theme] .vario-directory-v2 .vario-search-field .form-label {
    display: block !important;
    height: 12px !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #173d78 !important;
    font: 700 10px/12px Inter, "Segoe UI", Arial, sans-serif !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html .vario-directory-v2 .form-control,
html .vario-directory-v2 .form-select,
html[data-vario-theme] .vario-directory-v2 .form-control,
html[data-vario-theme] .vario-directory-v2 .form-select {
    height: 25px !important;
    min-height: 25px !important;
    padding: 0 9px !important;
    border-color: #c8d7ee !important;
    border-radius: 8px !important;
    color: #06245a !important;
    font: 700 11px/23px Inter, "Segoe UI", Arial, sans-serif !important;
}

html .vario-directory-v2 .vario-contractors-filter-actions .btn,
html .vario-directory-v2 .vario-clear-filter-button,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-filter-actions .btn,
html[data-vario-theme] .vario-directory-v2 .vario-clear-filter-button {
    height: 27px !important;
    min-height: 27px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    font: 800 11px/25px Inter, "Segoe UI", Arial, sans-serif !important;
}

html .vario-directory-v2 .vario-contractors-advanced-search,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-advanced-search {
    height: 50px !important;
    min-height: 50px !important;
    padding: 4px 10px 6px !important;
    overflow: hidden !important;
}

html .vario-directory-v2 .vario-search-field-grid,
html[data-vario-theme] .vario-directory-v2 .vario-search-field-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 8px !important;
    height: 40px !important;
    min-height: 40px !important;
    overflow: hidden !important;
}

html .vario-directory-v2 .vario-search-field,
html[data-vario-theme] .vario-directory-v2 .vario-search-field {
    flex: 1 1 120px !important;
    max-width: 160px !important;
    min-width: 106px !important;
}

html .vario-directory-v2 .vario-search-check,
html[data-vario-theme] .vario-directory-v2 .vario-search-check {
    flex: 0 0 auto !important;
    height: 25px !important;
    min-height: 25px !important;
    margin-top: 12px !important;
    padding: 0 10px !important;
    border-color: #c8d7ee !important;
    border-radius: 8px !important;
    font: 700 11px/23px Inter, "Segoe UI", Arial, sans-serif !important;
}

html .vario-directory-v2 .vario-contractors-list,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-list {
    border-radius: 14px !important;
}

html .vario-directory-v2 .vario-contractors-table thead th,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-table thead th {
    height: 25px !important;
    padding: 3px 8px !important;
    background: linear-gradient(180deg, #f2f7ff 0%, #e8f1ff 100%) !important;
    border-bottom: 1px solid #b8c9e3 !important;
    color: #173d78 !important;
    font: 800 11px/15px Inter, "Segoe UI", Arial, sans-serif !important;
}

html .vario-directory-v2 .vario-contractors-table tbody td,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-table tbody td {
    height: 24px !important;
    padding: 2px 8px !important;
    font: 700 11px/16px Inter, "Segoe UI", Arial, sans-serif !important;
    user-select: none !important;
}

html .vario-directory-v2 .vario-directory-preview-v2,
html[data-vario-theme] .vario-directory-v2 .vario-directory-preview-v2 {
    border-radius: 14px !important;
    overflow: hidden !important;
}

html .vario-directory-v2 .vario-contractors-preview-body,
html[data-vario-theme] .vario-directory-v2 .vario-contractors-preview-body {
    padding: 10px !important;
    gap: 10px !important;
}

html .vario-directory-v2 .vario-preview-identity-card,
html[data-vario-theme] .vario-directory-v2 .vario-preview-identity-card {
    order: 1 !important;
}

html .vario-directory-v2 .vario-preview-contact-card,
html[data-vario-theme] .vario-directory-v2 .vario-preview-contact-card {
    order: 2 !important;
}

html .vario-directory-v2 .vario-preview-note-card,
html[data-vario-theme] .vario-directory-v2 .vario-preview-note-card {
    order: 3 !important;
}

html .vario-directory-v2 .vario-preview-contact-card,
html[data-vario-theme] .vario-directory-v2 .vario-preview-contact-card {
    min-width: 360px !important;
}

html .modal-content.vario-contractor-modal,
html[data-vario-theme] .modal-content.vario-contractor-modal {
    border: 1px solid #d7e2f1 !important;
    border-radius: 14px !important;
    height: min(680px, calc(100vh - 48px)) !important;
    min-height: min(680px, calc(100vh - 48px)) !important;
    max-height: calc(100vh - 48px) !important;
    display: flex !important;
    flex-direction: column !important;
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
}

html .vario-contractor-modal form,
html[data-vario-theme] .vario-contractor-modal form {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

html .modal-dialog.vario-contractor-dialog,
html[data-vario-theme] .modal-dialog.vario-contractor-dialog {
    display: flex !important;
    align-items: center !important;
    min-height: calc(100vh - 24px) !important;
    margin-top: 12px !important;
    margin-bottom: 12px !important;
}

html .vario-contractor-modal .modal-header,
html .vario-contractor-modal .modal-footer,
html[data-vario-theme] .vario-contractor-modal .modal-header,
html[data-vario-theme] .vario-contractor-modal .modal-footer {
    flex: 0 0 auto !important;
}

html .vario-contractor-modal .form-label,
html[data-vario-theme] .vario-contractor-modal .form-label {
    margin-bottom: 2px !important;
    color: #173d78 !important;
    font: 700 10px/12px Inter, "Segoe UI", Arial, sans-serif !important;
}

html .vario-contractor-modal .form-control,
html .vario-contractor-modal .form-select,
html[data-vario-theme] .vario-contractor-modal .form-control,
html[data-vario-theme] .vario-contractor-modal .form-select {
    min-height: 28px !important;
    height: 28px !important;
    padding: 0 9px !important;
    border-radius: 8px !important;
    font: 700 11px/26px Inter, "Segoe UI", Arial, sans-serif !important;
}

html .vario-contractor-modal .form-select,
html[data-vario-theme] .vario-contractor-modal .form-select {
    padding-right: 28px !important;
    line-height: 26px !important;
    background-position: right 8px center !important;
}

html .vario-contractor-modal .vario-contractor-modal-body,
html[data-vario-theme] .vario-contractor-modal .vario-contractor-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden auto !important;
    padding: 10px 14px !important;
}

html .vario-contractor-modal .vario-contractor-section-title,
html[data-vario-theme] .vario-contractor-modal .vario-contractor-section-title {
    position: relative !important;
    margin: 8px 0 -2px !important;
    padding: 6px 10px 5px !important;
    border: 1px solid #c9d9f0 !important;
    border-bottom: 0 !important;
    border-radius: 10px 10px 0 0 !important;
    background: linear-gradient(180deg, #f4f8ff 0%, #edf4ff 100%) !important;
    color: #075ee7 !important;
    font: 800 11px/14px Inter, "Segoe UI", Arial, sans-serif !important;
    letter-spacing: 0 !important;
}

html .vario-contractor-modal .vario-contractor-section-title+[class*="col-"],
html .vario-contractor-modal .vario-contractor-section-title+[class*="col-"]~[class*="col-"],
html[data-vario-theme] .vario-contractor-modal .vario-contractor-section-title+[class*="col-"],
html[data-vario-theme] .vario-contractor-modal .vario-contractor-section-title+[class*="col-"]~[class*="col-"] {
    padding-top: 6px !important;
}

html .vario-contractor-modal .row.g-3>[class*="col-"]:not(.vario-contractor-section-title),
html[data-vario-theme] .vario-contractor-modal .row.g-3>[class*="col-"]:not(.vario-contractor-section-title) {
    position: relative !important;
}

html .vario-contractor-modal .row.g-3>[class*="col-"]:not(.vario-contractor-section-title)>.form-label,
html[data-vario-theme] .vario-contractor-modal .row.g-3>[class*="col-"]:not(.vario-contractor-section-title)>.form-label {
    padding-left: 2px !important;
}

html .vario-contractor-modal .row.g-3>[class*="col-"]:not(.vario-contractor-section-title):has(.form-control),
html .vario-contractor-modal .row.g-3>[class*="col-"]:not(.vario-contractor-section-title):has(.form-select),
html[data-vario-theme] .vario-contractor-modal .row.g-3>[class*="col-"]:not(.vario-contractor-section-title):has(.form-control),
html[data-vario-theme] .vario-contractor-modal .row.g-3>[class*="col-"]:not(.vario-contractor-section-title):has(.form-select) {
    padding: 7px 8px !important;
    border: 1px solid #d8e5f6 !important;
    border-radius: 10px !important;
    background: #fbfdff !important;
}

html .vario-contractor-modal .row.g-3>.vario-contractor-section-title+[class*="col-"],
html[data-vario-theme] .vario-contractor-modal .row.g-3>.vario-contractor-section-title+[class*="col-"] {
    border-top-left-radius: 0 !important;
}

html .vario-contractor-modal .vario-contractor-modal-tabs,
html[data-vario-theme] .vario-contractor-modal .vario-contractor-modal-tabs {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
    height: 28px !important;
    margin: -2px -4px 10px !important;
    padding: 0 4px !important;
    border-bottom: 1px solid #d8e2f2 !important;
    background: #f8fbff !important;
}

html .vario-contractor-modal .vario-contractor-modal-tab,
html[data-vario-theme] .vario-contractor-modal .vario-contractor-modal-tab {
    height: 28px !important;
    padding: 0 15px !important;
    border: 0 !important;
    background: transparent !important;
    color: #45607f !important;
    font: 700 11px/28px Inter, "Segoe UI", Arial, sans-serif !important;
    white-space: nowrap !important;
}

html .vario-contractor-modal .vario-contractor-modal-tab.active,
html[data-vario-theme] .vario-contractor-modal .vario-contractor-modal-tab.active {
    color: #075ee7 !important;
    box-shadow: inset 0 -2px 0 #2563eb !important;
}

html .vario-contractor-modal .row.g-3,
html[data-vario-theme] .vario-contractor-modal .row.g-3 {
    --bs-gutter-x: 10px !important;
    --bs-gutter-y: 8px !important;
}

html .vario-contractor-modal textarea.form-control,
html[data-vario-theme] .vario-contractor-modal textarea.form-control {
    height: auto !important;
    min-height: 58px !important;
    line-height: 15px !important;
    padding-top: 5px !important;
}

html .vario-contractor-modal .modal-footer,
html[data-vario-theme] .vario-contractor-modal .modal-footer {
    flex: 0 0 47px !important;
    gap: 8px !important;
    padding: 9px 14px !important;
    border-top: 1px solid #d8e2f2 !important;
    background: #f8fbff !important;
}

html .vario-contractor-modal .modal-footer .btn,
html[data-vario-theme] .vario-contractor-modal .modal-footer .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 12px !important;
    border-radius: 8px !important;
    font: 800 11px/26px Inter, "Segoe UI", Arial, sans-serif !important;
}

html .vario-contractor-modal .modal-footer .btn-primary,
html[data-vario-theme] .vario-contractor-modal .modal-footer .btn-primary {
    border-color: #2563eb !important;
    background: #2563eb !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.20) !important;
}

html .vario-contractor-modal .modal-footer .btn-outline-secondary,
html .vario-contractor-modal .modal-footer .btn-secondary,
html[data-vario-theme] .vario-contractor-modal .modal-footer .btn-outline-secondary,
html[data-vario-theme] .vario-contractor-modal .modal-footer .btn-secondary {
    border-color: #c8d7ee !important;
    background: #f3f7fd !important;
    color: #173d78 !important;
}

