/* Realitní experti — barva loga místo fialové */

[data-portal-experts] {
    --experts-brand: var(--portal-brand-dark, #3d155b);
    --experts-brand-hover: #2a0f42;
    --experts-brand-soft: var(--portal-brand-dark-soft, #f3eff5);
    --experts-brand-border: rgba(61, 21, 91, 0.18);
    --experts-brand-glow: rgba(61, 21, 91, 0.35);
    --experts-filter-font: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.experts-directory-banner-slot {
    border-bottom: 4px solid #387B22;
    box-shadow: 0 8px 28px -12px rgba(56, 123, 34, 0.45);
    isolation: isolate;
}

.experts-directory-body {
    border-top: 1px solid #e5e7eb;
    background: linear-gradient(180deg, #f7faf6 0%, #ffffff 48px);
}

.experts-brand-banner-placeholder {
    background: linear-gradient(135deg, var(--experts-brand, #3d155b) 0%, var(--experts-brand-hover, #2a0f42) 100%);
}

.experts-brand-spinner {
    border-color: var(--experts-brand, #3d155b);
}

.htmx-request #experts-hx-indicator {
    display: flex !important;
}

#experts-hx-indicator {
    display: none;
}

#experts-agents-swap,
#experts-leaderboard-block {
    scroll-margin-top: 5rem;
}

#experts-agents-swap .experts-broker-portrait-frame {
    background-color: #ffffff !important;
    color-scheme: light;
    isolation: isolate;
}

#experts-agents-swap .experts-broker-portrait {
    filter: brightness(1.24) contrast(1.04) saturate(1.1);
}

/* Filtry — monolith styl jako homepage (Lokalita); Inter 400 — Poppins má na webu jen řez 900 */
[data-portal-experts] #experts-directory-filter {
    font-family: var(--experts-filter-font);
}

[data-portal-experts] #experts-directory-filter .badge-container {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0 !important;
    height: auto !important;
    min-height: 24px;
}

[data-portal-experts] #experts-directory-filter .badge-header {
    background-color: #f3f4f6;
    color: #4b5563;
    font-size: 13px;
    font-weight: var(--portal-fw-label, 600);
    padding: 5px 14px;
    border-radius: 9px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

[data-portal-experts] #experts-directory-filter .filter-field-col {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    min-width: 0;
}

[data-portal-experts] #experts-directory-filter .filter-field-control {
    min-height: 44px;
}

[data-portal-experts] #experts-directory-filter .monolith-item {
    height: 44px !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    font-family: var(--experts-filter-font) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    font-synthesis: none;
    border: 1px solid #9ca3af !important;
    background-color: #fff !important;
    color: #4b5563 !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    padding-left: 16px !important;
    padding-right: 36px !important;
    outline: none !important;
    --tw-ring-shadow: 0 0 #0000 !important;
    --tw-ring-offset-shadow: 0 0 #0000 !important;
}

[data-portal-experts] #experts-directory-filter select.monolith-item {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%233d155b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px 16px;
}

[data-portal-experts] #experts-directory-filter input.monolith-item:disabled {
    opacity: 1 !important;
    background-color: #fff !important;
    color: #6b7280 !important;
    border-color: #9ca3af !important;
    cursor: not-allowed !important;
    -webkit-text-fill-color: #6b7280 !important;
}

[data-portal-experts] #experts-directory-filter .experts-filter-clear-btn {
    position: absolute;
    right: 6px;
    top: 50%;
    z-index: 20;
    display: flex;
    height: 32px;
    width: 32px;
    transform: translateY(-50%);
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 0;
    background: transparent;
    font-size: 1.35rem;
    line-height: 1;
    font-weight: 700;
    color: #9ca3af;
    cursor: pointer;
}

[data-portal-experts] #experts-directory-filter .experts-filter-clear-btn:hover {
    background-color: #f3f4f6;
    color: #4b5563;
}

[data-portal-experts] #experts-directory-filter .experts-filter-suggestions {
    position: absolute;
    z-index: 100;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    margin: 0;
    padding: 4px;
    list-style: none;
    max-height: 15rem;
    overflow-y: auto;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    background-color: #fff;
    box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.2);
}

[data-portal-experts] #experts-directory-filter .filter-suggestion-item {
    padding: 10px 12px;
    border-radius: 8px;
    font-family: var(--experts-filter-font);
    font-size: 14px;
    font-weight: 400;
    color: #374151;
    cursor: pointer;
}

[data-portal-experts] #experts-directory-filter .filter-suggestion-item:hover,
[data-portal-experts] #experts-directory-filter .filter-suggestion-item:focus-visible {
    background-color: var(--experts-brand-soft);
    color: var(--experts-brand);
    outline: none;
}

[data-portal-experts] #experts-directory-filter .filter-suggestion-item .portal-ac-highlight {
    color: var(--experts-brand);
    font-weight: 900;
    background: transparent;
    padding: 0;
}

[data-portal-experts] #experts-directory-filter .monolith-item:hover:not(:disabled):not(.monolith-active) {
    border-color: var(--experts-brand) !important;
    box-shadow: 0 0 0 4px rgba(61, 21, 91, 0.08) !important;
}

[data-portal-experts] #experts-directory-filter .monolith-active {
    background-color: #ffffff !important;
    color: #4b5563 !important;
    border-color: var(--experts-brand) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    font-weight: 400 !important;
}

[data-portal-experts] #experts-directory-filter select.monolith-item,
[data-portal-experts] #experts-directory-filter select.monolith-item option,
[data-portal-experts] #experts-directory-filter input.monolith-item {
    font-family: var(--experts-filter-font) !important;
    font-weight: 400 !important;
    font-synthesis: none;
}

[data-portal-experts] #experts-directory-filter select.monolith-active:disabled,
[data-portal-experts] #experts-directory-filter select.monolith-item:disabled {
    opacity: 1 !important;
    background-color: #fff !important;
    color: #6b7280 !important;
    border-color: #9ca3af !important;
    cursor: not-allowed !important;
    -webkit-text-fill-color: #6b7280 !important;
}

[data-portal-experts] #experts-directory-filter .slate-placeholder::placeholder {
    color: var(--portal-text-muted, #4b5563) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: var(--portal-text-muted, #4b5563);
}

[data-portal-experts] #experts-directory-filter input.monolith-item:not(.tile-filter):focus:not(:disabled),
[data-portal-experts] #experts-directory-filter input.monolith-item:not(.tile-filter):focus-visible:not(:disabled),
[data-portal-experts] #experts-directory-filter select.monolith-item:focus:not(:disabled),
[data-portal-experts] #experts-directory-filter select.monolith-item:focus-visible:not(:disabled),
[data-portal-experts] #experts-agency-search:focus,
[data-portal-experts] #experts-agency-search:focus-visible,
[data-portal-experts] #experts-broker-search:focus:not(:disabled),
[data-portal-experts] #experts-broker-search:focus-visible:not(:disabled) {
    border-color: #3d155b !important;
    box-shadow: 0 0 0 3px rgba(61, 21, 91, 0.12) !important;
    background-color: #ffffff !important;
    outline: none !important;
    outline-width: 0 !important;
    --tw-ring-shadow: 0 0 #0000 !important;
    --tw-ring-offset-shadow: 0 0 #0000 !important;
    --tw-ring-color: transparent !important;
}

[data-portal-experts] #experts-directory-filter input.monolith-item:not(.tile-filter):not(:placeholder-shown):not(:disabled),
[data-portal-experts] #experts-directory-filter select.monolith-item.monolith-active {
    border-color: var(--portal-brand-dark, #3d155b) !important;
    color: #1f2937 !important;
}

[data-portal-experts] #experts-directory-filter input.monolith-item::placeholder {
    color: #6b7280 !important;
    opacity: 1 !important;
}

/* Filtry — focus ring barva loga (per-page select) */
[data-portal-experts] #experts-per-page {
    font-family: var(--experts-filter-font) !important;
    font-weight: 400 !important;
    font-synthesis: none;
}

[data-portal-experts] #experts-per-page:focus {
    --tw-ring-color: var(--experts-brand) !important;
    border-color: var(--experts-brand) !important;
}

/* Karty kanceláří */
[data-portal-experts] .experts-agency-card {
    background-color: #f9fafb;
    border-color: var(--experts-brand-border) !important;
}

[data-portal-experts] .experts-agency-card__header {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
}

[data-portal-experts] .experts-agency-card__top {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start;
    gap: 1rem;
    width: 100%;
}

[data-portal-experts] .experts-agency-card__contact {
    color: #4b5563;
}

[data-portal-experts] .experts-agency-card__link {
    word-break: break-word;
    overflow-wrap: anywhere;
}

[data-portal-experts] .experts-agency-card__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
}

[data-portal-experts] .experts-agency-card__actions .experts-brand-btn,
[data-portal-experts] .experts-agency-card__actions .experts-show-agents-link {
    width: 100%;
    justify-content: center;
    text-align: center;
}

@media (min-width: 768px) {
    [data-portal-experts] .experts-agency-card__top {
        gap: 2rem;
    }

    [data-portal-experts] .experts-agency-card__actions {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }

    [data-portal-experts] .experts-agency-card__actions .experts-brand-btn,
    [data-portal-experts] .experts-agency-card__actions .experts-show-agents-link {
        width: auto;
    }
}

[data-portal-experts] .experts-agency-avatar {
    background-color: var(--experts-brand) !important;
}

[data-portal-experts] .experts-brand-link {
    color: var(--experts-brand) !important;
}

[data-portal-experts] .experts-brand-btn {
    background-color: var(--experts-brand) !important;
    color: #ffffff !important;
}

[data-portal-experts] .experts-brand-btn:hover {
    background-color: var(--experts-brand-hover) !important;
}

[data-portal-experts] .experts-brand-badge {
    background-color: var(--experts-brand-soft) !important;
    color: var(--experts-brand) !important;
}

/* Makléři */
[data-portal-experts] .experts-broker-portrait-frame {
    --tw-ring-color: var(--experts-brand-border) !important;
}

[data-portal-experts] .experts-broker-placeholder {
    background-color: var(--experts-brand-soft) !important;
    color: var(--experts-brand) !important;
}

/* Detail experta */
[data-portal-experts] .experts-profile-badge {
    background-color: var(--experts-brand) !important;
    color: #ffffff !important;
}

/* Záloha — Tailwind fialové třídy */
[data-portal-experts] .border-purple-100,
[data-portal-experts] .ring-purple-100\/80 {
    border-color: var(--experts-brand-border) !important;
    --tw-ring-color: var(--experts-brand-border) !important;
}

[data-portal-experts] .bg-purple-50,
[data-portal-experts] .bg-purple-100 {
    background-color: var(--experts-brand-soft) !important;
}

[data-portal-experts] .bg-purple-600,
[data-portal-experts] .bg-purple-700,
[data-portal-experts] .border-purple-700 {
    background-color: var(--experts-brand) !important;
    border-color: var(--experts-brand) !important;
}

[data-portal-experts] .text-purple-600,
[data-portal-experts] .focus\:ring-purple-600:focus {
    color: var(--experts-brand) !important;
    --tw-ring-color: var(--experts-brand) !important;
}

@media (prefers-color-scheme: dark) {
    .experts-directory-banner-slot {
        border-bottom-color: #4d9a32;
        box-shadow: 0 8px 28px -12px rgba(77, 154, 50, 0.35);
    }

    .experts-directory-body {
        border-top-color: #1f2937;
        background: linear-gradient(180deg, #0a1208 0%, #030712 48px);
    }

    .experts-bunker {
        background-color: #030712 !important;
        border-color: #1f2937 !important;
    }

    .htmx-request #experts-hx-indicator {
        background-color: rgba(3, 7, 18, 0.65);
    }

    #experts-agents-swap .experts-broker-portrait {
        filter: brightness(1.28) contrast(1.06) saturate(1.12);
    }

    #experts-agents-swap .experts-broker-portrait-frame {
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    }

    [data-portal-experts] .experts-agency-card {
        background-color: rgba(17, 24, 39, 0.5);
    }
}
