/**
 * Zdrowy Bajtel — assets/css/wcag.css
 * WCAG floating widget + accessibility bar styles.
 */

/* Floating widget wrapper */
.wcag-widget { position:fixed; bottom:1.75rem; right:1.75rem; z-index:40; }
@media (max-width:479px) { .wcag-widget { bottom:1rem; right:1rem; } }

/* Toggle button */
.wcag-toggle-btn {
  width:3.5rem; height:3.5rem; border-radius:50%;
  background:var(--zb-green); color:#fff; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 20px rgba(46,125,50,.40);
  transition:background var(--tr), transform .15s;
}
.wcag-toggle-btn:hover { background:var(--zb-green-mid); transform:scale(1.06); }
.wcag-toggle-btn[aria-expanded="true"] { background:var(--zb-navy); }
.wcag-toggle-btn:focus-visible { outline:3px solid var(--zb-green-light); outline-offset:3px; }

/* Panel */
.wcag-panel {
  position:absolute; bottom:calc(100% + .75rem); right:0;
  width:20rem; background:#fff; border-radius:var(--r-2xl);
  box-shadow:0 16px 48px rgba(26,47,78,.18); overflow:hidden;
  transform-origin:bottom right;
  animation:wcag-in .2s cubic-bezier(.25,.46,.45,.94) both;
}
.wcag-panel[hidden] { display:none; }
@keyframes wcag-in { from { opacity:0; transform:scale(.9) translateY(8px); } to { opacity:1; transform:scale(1); } }
@media (max-width:479px) { .wcag-panel { width:calc(100vw - 2rem); } }

.wcag-panel__header {
  display:flex; align-items:center; justify-content:space-between;
  padding:.875rem 1.25rem; background:var(--zb-navy); color:#fff;
}
.wcag-panel__title { font-family:var(--font-display); font-weight:700; font-size:.8125rem; letter-spacing:.06em; }
.wcag-panel__close {
  width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,.12);
  border:none; color:rgba(255,255,255,.85); cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background var(--tr);
}
.wcag-panel__close:hover { background:rgba(255,255,255,.25); }
.wcag-panel__body { padding:1.25rem; display:flex; flex-direction:column; gap:.875rem; }

/* Font buttons */
.wcag-font-section {}
.wcag-font-label { font-size:.75rem; font-weight:600; color:var(--zb-muted); margin-bottom:.5rem; }
.wcag-font-group { display:flex; gap:.375rem; }
.wcag-font-btn {
  flex:1; padding:.5rem; font-family:var(--font-display); font-weight:700; font-size:.8125rem;
  color:var(--zb-navy); background:var(--zb-gray-bg); border:1px solid var(--zb-border);
  border-radius:var(--r-lg); cursor:pointer; transition:background var(--tr), border-color var(--tr), color var(--tr);
}
.wcag-font-btn:hover { background:var(--zb-green-pale); border-color:var(--zb-green); }
.wcag-font-btn.is-active, .wcag-font-btn[aria-pressed="true"] { background:var(--zb-green); color:#fff; border-color:var(--zb-green); }

/* Toggle rows */
.wcag-toggle-row {
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding:.625rem .875rem; border:1px solid var(--zb-border);
  border-radius:var(--r-lg); background:var(--zb-gray-bg); cursor:pointer;
  transition:background var(--tr), border-color var(--tr);
}
.wcag-toggle-row:hover { background:var(--zb-green-pale); border-color:var(--zb-green); }
.wcag-toggle-row[aria-pressed="true"] { background:var(--zb-green-pale); border-color:var(--zb-green); }
.wcag-toggle-row__label { font-size:.875rem; font-weight:600; color:var(--zb-navy); }
.wcag-toggle-row__badge {
  font-size:.6875rem; font-weight:700; padding:.125rem .5rem;
  border-radius:var(--r-full); background:var(--zb-gray-bg); color:var(--zb-muted);
}
.wcag-toggle-row[aria-pressed="true"]  .wcag-toggle-row__badge::after { content:'Wł'; background:var(--zb-green); color:#fff; padding:.125rem .5rem; border-radius:var(--r-full); }
.wcag-toggle-row[aria-pressed="false"] .wcag-toggle-row__badge::after { content:'Wył'; }

.wcag-decl-link {
  display:flex; align-items:center; gap:.5rem; padding-top:.875rem;
  border-top:1px solid var(--zb-border); font-size:.8125rem; font-weight:600;
  color:var(--zb-green); text-decoration:none;
}
.wcag-decl-link:hover { text-decoration:underline; }

/* Accessibility bar — hint text */
.a11y-bar-hint { font-size:.6875rem; color:rgba(255,255,255,.55); white-space:nowrap; }
@media (max-width:479px) { .a11y-bar-hint { display:none; } }

@media print { .wcag-widget { display:none !important; } }
