/* PJM a11y widget + cookie banner (templates/components/a11y-cookie.php) */

/* --- DOSTĘPNOŚĆ --- */
.pjm-a11y-toggle { position:fixed; right:18px; bottom:18px; z-index:99990; width:52px; height:52px; border-radius:50%; border:none; background:#1B5E4B; color:#fff; cursor:pointer; box-shadow:0 6px 20px rgba(0,0,0,.25); display:flex; align-items:center; justify-content:center; }
.pjm-a11y-toggle:hover { background:#154A3B; }
.pjm-a11y-toggle:focus-visible { outline:3px solid #E0A33E; outline-offset:2px; }
.pjm-a11y-panel { position:fixed; right:18px; bottom:80px; z-index:99990; width:280px; max-width:calc(100vw - 36px); background:#fff; border:1px solid #e3e1d9; border-radius:14px; box-shadow:0 12px 40px rgba(0,0,0,.18); padding:18px; font-family:'Inter',system-ui,sans-serif; }
.pjm-a11y-panel h3 { margin:0 0 14px; font-size:16px; color:#16241D; font-family:'Plus Jakarta Sans',sans-serif; }
.pjm-a11y-group { margin-bottom:14px; }
.pjm-a11y-label { display:block; font-size:12px; font-weight:700; text-transform:uppercase; color:#8A938D; margin-bottom:6px; }
.pjm-a11y-btns { display:flex; gap:6px; flex-wrap:wrap; }
.pjm-a11y-btns button { flex:1; min-width:64px; padding:9px 8px; border:1px solid #d1d5db; background:#f7faf8; border-radius:8px; cursor:pointer; font-size:13px; font-weight:600; color:#16241D; }
.pjm-a11y-btns button:hover { border-color:#1B5E4B; }
.pjm-a11y-btns button[aria-pressed="true"] { background:#1B5E4B; color:#fff; border-color:#1B5E4B; }
.pjm-a11y-btns button:focus-visible, .pjm-a11y-reset:focus-visible { outline:3px solid #E0A33E; outline-offset:2px; }
.pjm-a11y-reset { width:100%; margin-top:4px; padding:9px; border:none; background:#eef2f0; border-radius:8px; cursor:pointer; font-size:12px; color:#5f6f67; font-weight:600; }
.pjm-a11y-reset:hover { background:#e3e8e5; }

/* Skalowanie tekstu (rem/em) */
html.pjm-fs-1 { font-size:112.5%; } html.pjm-fs-2 { font-size:125%; } html.pjm-fs-3 { font-size:140%; }
/* Wzmocnienie także dla treści px-owej */
html.pjm-fs-1 body { font-size:1.06em; } html.pjm-fs-2 body { font-size:1.12em; } html.pjm-fs-3 body { font-size:1.2em; }

/* Wysoki kontrast (WCAG) — WSZYSTKIE tła ciemne, tekst biały, linki żółte na czarnym,
   przyciski żółte z czarnym tekstem. Kluczowe: zerujemy tła wszystkich elementów,
   żeby nie było żółtych napisów na białym tle. */
html.pjm-contrast, html.pjm-contrast body { background:#000 !important; color:#fff !important; }
html.pjm-contrast *:not(svg):not(path):not(img) { background-color:transparent !important; background-image:none !important; color:#fff !important; border-color:#fff !important; box-shadow:none !important; text-shadow:none !important; }
html.pjm-contrast a, html.pjm-contrast a *, html.pjm-contrast a:visited { color:#ffea00 !important; text-decoration:underline !important; }
html.pjm-contrast button, html.pjm-contrast .pjm-btn, html.pjm-contrast .jm-btn-checkout,
html.pjm-contrast input[type="submit"], html.pjm-contrast input[type="button"], html.pjm-contrast .button {
    background:#ffea00 !important; color:#000 !important; border:2px solid #fff !important;
}
html.pjm-contrast button *, html.pjm-contrast .pjm-btn *, html.pjm-contrast .button * { color:#000 !important; }
html.pjm-contrast input, html.pjm-contrast select, html.pjm-contrast textarea { background:#000 !important; color:#fff !important; border:1px solid #fff !important; }
html.pjm-contrast .material-symbols-rounded, html.pjm-contrast .pjm-icon { color:#fff !important; fill:#fff !important; }
/* Czytelne tło dla naszych kart/sekcji (lekko jaśniejsze niż czerń, z obwódką) */
html.pjm-contrast .pjm-card, html.pjm-contrast .ja-card, html.pjm-contrast .jm-card-box,
html.pjm-contrast .pjm-summary-card, html.pjm-contrast .ja-form-section, html.pjm-contrast .pjm-tp-card,
html.pjm-contrast .lc-day, html.pjm-contrast .lc-units { background-color:#111 !important; border:1px solid #fff !important; }

/* Podkreślanie linków */
html.pjm-links a { text-decoration:underline !important; }

/* --- COOKIE --- */
.pjm-cookie { position:fixed; left:0; right:0; bottom:0; z-index:99991; background:#14352A; color:#DCEAE2; box-shadow:0 -4px 24px rgba(0,0,0,.25); }
.pjm-cookie-inner { max-width:1100px; margin:0 auto; padding:16px 22px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; font-family:'Inter',system-ui,sans-serif; }
.pjm-cookie-text { flex:1; min-width:240px; }
.pjm-cookie-text strong { display:block; font-size:15px; margin-bottom:3px; color:#fff; }
.pjm-cookie-text p { margin:0; font-size:13px; line-height:1.5; color:#bcd3c8; }
.pjm-cookie-text a { color:#E0A33E; text-decoration:underline; }
.pjm-cookie-actions { display:flex; gap:10px; flex-wrap:wrap; }
.pjm-cookie-btn { padding:11px 20px; border-radius:10px; border:none; cursor:pointer; font-weight:700; font-size:13px; }
.pjm-cookie-essential { background:transparent; color:#DCEAE2; border:1px solid rgba(255,255,255,.3); }
.pjm-cookie-essential:hover { border-color:#fff; color:#fff; }
.pjm-cookie-accept { background:#E0A33E; color:#3A2A00; }
.pjm-cookie-accept:hover { background:#C98A2A; }
.pjm-cookie-btn:focus-visible { outline:3px solid #fff; outline-offset:2px; }
@media (max-width:600px){ .pjm-cookie-inner{ padding:14px 16px; } .pjm-cookie-actions{ width:100%; } .pjm-cookie-btn{ flex:1; } }
