/* EduPoint 0.9.12 - wyłącznie subtelna walidacja, spójna z makietą. */
:is(.epwf-form,.epwt-dialog form) :is(input,textarea,select).epwt-invalid:not([type=checkbox]):not([type=radio]){
  border:1.5px solid #cc877c!important;background:#fff8f6!important;
  box-shadow:0 0 0 2px rgba(207,145,134,.12)!important;
}
:is(.epwf-form,.epwt-dialog form) :is(input,textarea,select).epwt-invalid:focus{
  border-color:#b9776a!important;outline:2px solid rgba(207,145,134,.25)!important;outline-offset:1px;
}
:is(.epwf-form,.epwt-dialog form) .epwt-has-error:not(.epwt-choice-fieldset)>label:first-child,
:is(.epwf-form,.epwt-dialog form) label.epwt-has-error{color:#92594f!important}
:is(.epwf-form,.epwt-dialog form) .epwt-field-error{display:block;margin:5px 0 2px;font-size:12px;font-weight:650;line-height:1.4;color:#995b52}
:is(.epwf-form,.epwt-dialog form) .epwt-validation-overview{padding:10px 12px;margin:9px 0 12px;background:#fff7f5;border:1px solid #e8c5be;border-radius:10px;color:#86574e;font-size:13px;font-weight:650;line-height:1.45}
:is(.epwf-form,.epwt-dialog form) .epwt-validation-overview[hidden]{display:none!important}
:is(.epwf-form,.epwt-dialog form) .epwt-choice-fieldset.epwt-has-error{background:#fff8f6;border-color:#cc877c}
:is(.epwf-form,.epwt-dialog form) .epwt-choice-fieldset.epwt-has-error [data-epwt-feedback]{color:#995b52;font-weight:650}
/* 10% większy checkbox i tekst dla czytelności bez przebudowy układu. */
.epwf-form .edupoint-form-consent,.epwt-dialog .epwt-privacy-consent{
  padding:8px 9px;border:1px solid transparent;border-radius:10px;background:transparent;
  font-size:15.4px;line-height:1.5;box-sizing:border-box;
}
.epwf-form .edupoint-form-consent label,.epwt-dialog .epwt-privacy-consent label{
  display:flex;align-items:flex-start;gap:11px;cursor:pointer;font-size:15.4px;line-height:1.5;font-weight:600;color:#435563;
}
.epwf-form .edupoint-form-consent input[type=checkbox],.epwt-dialog .epwt-privacy-consent input[type=checkbox]{
  appearance:auto;flex:0 0 20px!important;width:20px!important;height:20px!important;min-width:20px!important;
  margin:2px 0 0!important;accent-color:#e47556;cursor:pointer;
}
:is(.epwf-form,.epwt-dialog form) :is(.edupoint-form-consent,.epwt-privacy-consent).epwt-has-error{
  background:#fff8f6;border-color:#e8c4bc;
}
:is(.epwf-form,.epwt-dialog form) :is(.edupoint-form-consent,.epwt-privacy-consent).epwt-has-error input[type=checkbox]{outline:2px solid #cc877c;outline-offset:2px}
:is(.epwf-form,.epwt-dialog form) :is(.edupoint-form-consent,.epwt-privacy-consent)>.epwt-field-error{
  margin-left:31px;margin-top:5px;
}

/* Wyraźny stan przycisku i wysyłki – szczególnie ważny przy dłuższym czasie odpowiedzi. */
:is(.epwf-form,.epwt-dialog form) .epwt-submit-status{
  display:block;
  margin:10px 0 0;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid #d7e6ee;
  background:#f4f8fb;
  color:#234f6a;
  font-size:13px;
  line-height:1.45;
  font-weight:700;
}
:is(.epwf-form,.epwt-dialog form) .epwt-submit-status[hidden]{display:none!important}
:is(.epwf-form,.epwt-dialog form) .epwt-submit-status.is-error{
  background:#fff7f5;
  border-color:#e7c5be;
  color:#8d554b;
}
:is(.epwf-form,.epwt-dialog form) .epwt-submit-status.is-busy{
  background:#eef7fb;
  border-color:#c9deea;
  color:#1d5877;
}
:is(.epwf-form,.epwt-dialog form) .epwt-submit-status__text{display:block}
:is(.epwf-form,.epwt-dialog form) .epwt-submit-status__bar{
  display:block;
  position:relative;
  overflow:hidden;
  width:100%;
  height:6px;
  border-radius:999px;
  background:rgba(41,108,140,.12);
  margin-top:8px;
}
:is(.epwf-form,.epwt-dialog form) .epwt-submit-status__bar>span{
  display:block;
  width:38%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#77b8da,#2d7698,#77b8da);
  background-size:200% 100%;
  animation:epwt-submit-progress 1.1s linear infinite;
}
:is(.epwf-form,.epwt-dialog form) .epwt-submit-status:not(.is-busy) .epwt-submit-status__bar{display:none}
@keyframes epwt-submit-progress{
  0%{transform:translateX(-70%);background-position:0 0}
  100%{transform:translateX(240%);background-position:200% 0}
}
