/* --- Bazowe style Widgetu --- */
:root {
    /* Wartości domyślne (fallback), nadpisywane przez PHP */
    --dk-wcag-top: 200px;
    --dk-wcag-contrast-bg: #000000;
    --dk-wcag-contrast-text: #ffff00;
    --dk-wcag-brand-color: #0073aa; /* Kolor przycisku triggera */
}

.dk-wcag-wrapper {
    position: fixed;
    top: var(--dk-wcag-top); /* Zmienna z PHP */
    z-index: 999999;
    font-family: sans-serif;
    /* Left/Right ustawiane przez PHP w inline styles */
}

#dk-wcag-trigger {
    background: var(--dk-wcag-brand-color);
    color: #fff;
    border: none;
    padding: 12px;
    /* Border-radius ustawiany przez PHP zależnie od strony */
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: background 0.3s;
}

#dk-wcag-trigger:hover {
    filter: brightness(1.1);
}

.dk-wcag-panel {
    position: absolute;
    top: 0;
    width: 250px;
    background: #fff;
    border: 1px solid #ddd;
    /* Box-shadow i pozycja (left/right) ustawiane przez PHP */
    transition: all 0.3s ease-in-out;
    padding: 15px;
}

.dk-wcag-header {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 16px;
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
    color: #333;
}

.dk-wcag-options button {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 8px;
    padding: 10px;
    text-align: left;
    background: #f5f5f5;
    border: 1px solid #eee;
    cursor: pointer;
    color: #333;
    font-size: 14px;
    transition: all 0.2s;
}

.dk-wcag-options button .icon {
    margin-right: 10px;
    font-weight: bold;
    width: 20px;
    text-align: center;
}

.dk-wcag-options button:hover {
    background: #e9e9e9;
}

.dk-wcag-options button.active {
    background: var(--dk-wcag-brand-color);
    color: #fff;
    border-color: var(--dk-wcag-brand-color);
}

/* --- LOGIKA WCAG --- */

/* 1. Wysoki kontrast (Używa zmiennych z panelu admina) */
body.dk-wcag-contrast {
    background-color: var(--dk-wcag-contrast-bg) !important;
    color: var(--dk-wcag-contrast-text) !important;
}

body.dk-wcag-contrast * {
    background-color: var(--dk-wcag-contrast-bg) !important;
    color: var(--dk-wcag-contrast-text) !important;
    border-color: var(--dk-wcag-contrast-text) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

/* Wyjątki dla obrazków */
body.dk-wcag-contrast img,
body.dk-wcag-contrast svg {
    filter: grayscale(100%) contrast(120%);
    background: transparent !important;
}
/* Wyjątek dla samego widgetu - żeby był czytelny w trybie kontrastu */
body.dk-wcag-contrast .dk-wcag-panel,
body.dk-wcag-contrast .dk-wcag-panel * {
    background-color: #fff !important;
    color: #000 !important; 
    border-color: #ddd !important;
}
body.dk-wcag-contrast .dk-wcag-options button.active {
    background-color: #000 !important;
    color: #fff !important;
    border: 2px solid #000 !important;
}


/* 2. Powiększenie czcionki (REM scaling fallback) */
html.dk-wcag-fontsize {
    font-size: 120% !important;
}

/* 3. Linki */
body.dk-wcag-links a {
    text-decoration: underline !important;
    text-decoration-thickness: 3px !important;
    text-underline-offset: 3px;
}

/* 4. Focus Ring */
:focus-visible {
    outline: 3px solid var(--dk-wcag-brand-color) !important;
    outline-offset: 2px !important;
}

body.dk-wcag-contrast :focus-visible {
    outline: 3px solid var(--dk-wcag-contrast-text) !important;
    background-color: var(--dk-wcag-contrast-bg) !important;
    color: var(--dk-wcag-contrast-text) !important;
}