/* ==========================================================================
   1. MOTYWY KOLORYSTYCZNE KOMPONENTU
   ========================================================================== */
.dropdown--theme-blue { --heading-color: var(--primary, #2563eb); }
.dropdown--theme-orange { --heading-color: var(--secondary, #fa8a00); }

/* ==========================================================================
   2. STRUKTURA ELEMENTÓW (FRONT-END)
   ========================================================================== */
.dropdown {
    position: relative;
    display: inline-flex;
    box-sizing: border-box;
}

/* Waga ZERO (:where) dla łatwego nadpisywania ze Style Engine WP */
:where(.dropdown__toggle) {
    cursor: pointer;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    transition: all 0.2s ease-in-out;
    font: inherit;
    background-color: var(--bg-panel, #FFFFFF);
    color: var(--heading-color, #1e1e1e);
    border: 2px solid var(--border-color, #F3F4F6);
    border-radius: var(--border-radius, 14px);
    padding: 10px 16px;
    font-weight: 600;
    box-sizing: border-box;
}

.dropdown__toggle:hover { 
    border-color: var(--heading-color); 
}

.dropdown__toggle:focus-visible {
    outline: 3px solid var(--heading-color);
    outline-offset: 2px;
}

.dropdown__toggle span { 
    text-decoration: none; 
    color: inherit; 
}

/* Panel rozwijany - Baza */
.dropdown__panel {
    position: absolute;
    z-index: 999;
    margin-top: 6px;
    background: var(--bg-panel, #ffffff);
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: var(--border-radius, 14px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
    padding: 16px;
    color: var(--text, #1f2937);
    box-sizing: border-box;
    word-break: break-word;
}

.dropdown__panel[hidden] { 
    display: none !important; 
}

/* Pozycjonowanie Panelu */
.dropdown__panel--bottom-left {
    top: 100%;
    left: 0;
    right: auto;
}

.dropdown__panel--bottom-right {
    top: 100%;
    right: 0;
    left: auto;
}

.dropdown__panel--bottom-center {
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
}

.dropdown__panel h1, 
.dropdown__panel h2, 
.dropdown__panel h3 { 
    color: var(--heading-color); 
    margin-top: 0;
}

/* ==========================================================================
   3. RESPONSYWNOŚĆ DLA EKRANÓW MOBILNYCH (<= 667px)
   ========================================================================== */
@media screen and (max-width: 667px) {
    :where(.dropdown__toggle) {
        min-height: 44px; /* Standard WCAG dla ekranów dotykowych */
        padding: 12px 16px;
    }

    .dropdown__panel {
        /* Zapobieganie wychodzeniu poza ekran */
        max-width: calc(100vw - 32px) !important;
        max-height: calc(100vh - 120px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Jeśli panel jest wyśrodkowany na mobile, zabezpieczamy go przed ucinaniem */
    .dropdown__panel--bottom-center {
        left: 50%;
        transform: translateX(-50%);
    }
}