body.font-small {
  font-size: 0.8em !important;
}
body.font-small p,
body.font-small h1,
body.font-small h2,
body.font-small h3,
body.font-small h2 .size-46,
body.font-small h3 .size-18,
body.font-small .form-group small,
body.font-small .form-group.clause a,
body.font-small .form-group.clause label span,
body.font-small font,
body.font-small input,
body.font-small .is-wrapper span.size-32,
body.font-small .form-group > label {
  font-size: 0.8em !important;
}
body.font-medium {
  font-size: 1em !important;
}
body.font-medium p,
body.font-medium h1,
body.font-medium h2,
body.font-medium h3,
body.font-medium h2 .size-46,
body.font-medium h3 .size-18,
body.font-medium .form-group small,
body.font-medium .form-group.clause a,
body.font-medium .form-group.clause label span,
body.font-medium font,
body.font-medium input,
body.font-medium .is-wrapper span.size-32,
body.font-medium .form-group > label {
  font-size: 1em !important;
}
body.font-large {
  font-size: 1.2em !important;
}
body.font-large p,
body.font-large h1,
body.font-large h2,
body.font-large h3,
body.font-large h2 .size-46,
body.font-large h3 .size-18,
body.font-large .form-group small,
body.font-large .form-group.clause a,
body.font-large .form-group.clause label span,
body.font-large font,
body.font-large input,
body.font-large .is-wrapper span.size-32,
body.font-large .form-group > label {
  font-size: 1.2em !important;
}
body.font-xlarge {
  font-size: 1.4em !important;
}
body.font-xlarge p,
body.font-xlarge h1,
body.font-xlarge h2,
body.font-xlarge h3,
body.font-xlarge h2 .size-46,
body.font-xlarge h3 .size-18,
body.font-xlarge .form-group small,
body.font-xlarge .form-group.clause a,
body.font-xlarge .form-group.clause label span,
body.font-xlarge font,
body.font-xlarge input,
body.font-xlarge .is-wrapper span.size-32,
body.font-xlarge .form-group > label {
  font-size: 1.4em !important;
}
/* Contrast classes */
body.contrast-normal {
  background-color: #ffffff !important;
  color: #111 !important;
}
body.contrast-high {
  background-color: #000000 !important;
  color: #ffffff !important;
}
body.contrast-high .form-progress .pro-item.active::before,
body.contrast-high .form-progress .pro-item.active::after,
body.contrast-high .program-row.one-col .program-col .time,
body.contrast-high .reg-program .program-col .row two strong {
  background-color: #ffffff !important;
}
body.contrast-high .bnr .btn-bnr,
body.contrast-high button,
body.contrast-high input,
body.contrast-high p,
body.contrast-high h1,
body.contrast-high h2,
body.contrast-high h3,
body.contrast-high .form-group .custom-control.custom-checkbox,
body.contrast-high .form-group small,
body.contrast-high .form-group > label,
body.contrast-high .form-progress .pro-item,
body.contrast-high .is-wrapper div.is-section,
body.contrast-high .is-wrapper div.is-section p {
  background-color: #000000 !important;
  color: #ffffff !important;
}
body.contrast-high input,
body.contrast-high button {
  border-color: #ffffff !important;
}
body.contrast-yellow {
  background-color: #ffff00 !important;
  color: #000000 !important;
}
body.contrast-yellow .form-progress .pro-item.active::before,
body.contrast-yellow .form-progress .pro-item.active::after,
body.contrast-yellow .program-row.one-col .program-col .time,
body.contrast-yellow .reg-program .program-col .row two strong {
  background-color: #ffff00 !important;
}
body.contrast-yellow .bnr .btn-bnr,
body.contrast-yellow button,
body.contrast-yellow input,
body.contrast-yellow p,
body.contrast-yellow h1,
body.contrast-yellow h2,
body.contrast-yellow h3,
body.contrast-yellow .form-group .custom-control.custom-checkbox,
body.contrast-yellow .form-group small,
body.contrast-yellow .form-group > label,
body.contrast-yellow .form-progress .pro-item,
body.contrast-yellow .is-wrapper div.is-section,
body.contrast-yellow .is-wrapper div.is-section p {
  background-color: #ffff00 !important;
  color: #000000 !important;
}
body.contrast-yellow input,
body.contrast-yellow button {
  border-color: #000000 !important;
}
body.contrast-blue {
  background-color: #001f3f !important;
  color: #ffff00 !important;
}
body.contrast-blue .form-progress .pro-item.active::before,
body.contrast-blue .form-progress .pro-item.active::after,
body.contrast-blue .program-row.one-col .program-col .time,
body.contrast-blue .reg-program .program-col .row two strong {
  background-color: #001f3f !important;
}
body.contrast-blue .bnr .btn-bnr,
body.contrast-blue button,
body.contrast-blue input,
body.contrast-blue p,
body.contrast-blue h1,
body.contrast-blue h2,
body.contrast-blue h3,
body.contrast-blue .form-group .custom-control.custom-checkbox,
body.contrast-blue .form-group small,
body.contrast-blue .form-group > label,
body.contrast-blue .form-progress .pro-item,
body.contrast-blue .is-wrapper div.is-section,
body.contrast-blue .is-wrapper div.is-section p {
  background-color: #001f3f !important;
  color: #ffff00 !important;
}
body.contrast-blue input,
body.contrast-blue button {
  border-color: #ffff00 !important;
}
.accessibility-panel {
  z-index: 1000;
  left: -150px;
  top: 150px;
  position: fixed;
  background: #fff;
  border: 1px solid #0056b3;
  padding: 10px;
  width: 150px;
  box-sizing: border-box;
  transition: ease all 0.3s;
}
.accessibility-panel::before {
  content: '';
  width: 40px;
  height: 40px;
  background-image: url(https://innowacje.wzp.pl/wp-content/uploads/2025/06/accessibility.svg);
  background-size: 60%;
  border-radius: 0 100px 100px 0;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 150px;
  top: 0;
  background-color: #0056b3;
}
.accessibility-panel:hover {
  left: 0;
}
body.contrast-high .accessibility-panel {
  background: rgba(51, 51, 51, 0.95);
  border-color: #ffffff;
}
body.contrast-yellow .accessibility-panel {
  background: rgba(255, 255, 153, 0.95);
  border-color: #000000;
}
body.contrast-blue .accessibility-panel {
  background: rgba(0, 51, 102, 0.95);
  border-color: #ffff00;
}
.option {
  padding: 3px 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.option.active {
  background: #007bff;
  color: white;
  border-color: #0056b3;
}
