/**
 * Universal Field Validator - Styles
 * 
 * Стили для валидации полей форм
 * 
 * @package Universal_Validator
 * @version 2.0.0
 */

/* ============================================
   1. ОТКЛЮЧЕНИЕ SUCCESS СООБЩЕНИЙ
   ============================================ */


   label.error:not(:empty),
   .error.error-pane:not(:empty),
   .error.error-pane.error-pane-side:not(:empty),
   .abstract-validator-error:not(:empty),
   .abstract-validator-loading-msg:not(:empty) {
       display: block;
       visibility: visible;
       opacity: 1;
       box-sizing: border-box;
       padding: 1px 10px;
       font-family: Proximanova, sans-serif;
       font-size: 13px;
       font-weight: 600;
       line-height: 1.3;
       color: #dc3545;
       background-color: #fff;
       border-radius: 0;
       border: 1px solid #dc3545;
       box-shadow: 0 2px 8px rgba(220, 53, 69, 0.15),
                   0 1px 3px rgba(0, 0, 0, 0.1);
       display: flex;
   }
   
   label.error:empty,
   .error.error-pane:empty,
   .error.error-pane.error-pane-side:empty,
   .abstract-validator-error:empty,
   .abstract-validator-loading-msg:empty {
       display: none;
   }
   
   label.error::before,
   label.error::after,
   .error.error-pane::before,
   .error.error-pane::after,
   .error-pane-side::before,
   .error-pane-side::after,
   .abstract-validator-error::before,
   .abstract-validator-error::after {
       display: none;
       content: none;
   }
   
   .abstract-validator-loading-msg {
       color: #17a2b8;
       display: flex;
       align-items: center;
   }
   
   .abstract-validator-loading-msg::after {
       content: "";
       display: inline-block;
       width: 14px;
       height: 14px;
       margin-left: 10px;
       border: 2px solid #e3e3e3;
       border-top-color: #17a2b8;
       border-radius: 50%;
       animation: spin 0.8s linear infinite;
   }
   
   label.error:not(:empty),
   .error.error-pane:not(:empty),
   .error.error-pane.error-pane-side:not(:empty),
   .abstract-validator-error:not(:empty),
   .abstract-validator-loading-msg:not(:empty) {
       animation: slideDown 0.3s ease-out, fadeIn 0.3s ease-out;
   }
   
   @keyframes fadeIn {
       from {
           opacity: 0;
       }
       to {
           opacity: 1;
       }
   }
   
   @keyframes slideDown {
       from {
           transform: translateY(-10px);
       }
       to {
           transform: translateY(0);
       }
   }
   
   @keyframes spin {
       to {
           transform: rotate(360deg);
       }
   }
   
   
   @media screen and (max-width: 767px) {
       label.error:not(:empty),
       .error.error-pane:not(:empty),
       .error.error-pane.error-pane-side:not(:empty),
       .abstract-validator-error:not(:empty),
       .abstract-validator-loading-msg:not(:empty) {
           font-size: 16px;
       }
       
       .fielddiv:has(label.error:not(:empty)),
       .fielddiv:has(.error.error-pane:not(:empty)),
       .fielddiv:has(.abstract-validator-error:not(:empty)),
       .fielddiv:has(.abstract-validator-loading-msg:not(:empty)) {
           margin-bottom: 40px;
       }
       
       .fielddiv.has-error {
           margin-bottom: 40px;
       }
   }
   
   .fielddiv,
   .w-col {
       position: relative;
   }
   
   .fielddiv {
       margin-bottom: 0;
   }
   
   .fielddiv:has(label.error:not(:empty)),
   .fielddiv:has(.error.error-pane:not(:empty)),
   .fielddiv:has(.abstract-validator-error:not(:empty)),
   .fielddiv:has(.abstract-validator-loading-msg:not(:empty)) {
       margin-bottom: 55px;
   }
   
   .fielddiv.has-error {
       margin-bottom: 55px;
   }
   
   .fielddiv label.error:not(:empty),
   .fielddiv .error.error-pane:not(:empty),
   .fielddiv .error.error-pane.error-pane-side:not(:empty),
   .fielddiv .abstract-validator-error:not(:empty),
   .fielddiv .abstract-validator-loading-msg:not(:empty),
   .w-col label.error:not(:empty),
   .w-col .error.error-pane:not(:empty),
   .w-col .error.error-pane.error-pane-side:not(:empty),
   .w-col .abstract-validator-error:not(:empty),
   .w-col .abstract-validator-loading-msg:not(:empty) {
       position: absolute;
       top: 100%;
       z-index: 10;
   }
   
   .fielddiv label.error:not(:empty),
   .fielddiv .error.error-pane:not(:empty),
   .fielddiv .error.error-pane.error-pane-side:not(:empty),
   .fielddiv .abstract-validator-error:not(:empty),
   .fielddiv .abstract-validator-loading-msg:not(:empty),
   .w-col label.error:not(:empty),
   .w-col .error.error-pane:not(:empty),
   .w-col .error.error-pane.error-pane-side:not(:empty),
   .w-col .abstract-validator-error:not(:empty),
   .w-col .abstract-validator-loading-msg:not(:empty) {
       left: 50px;
       width: calc(100% - 50px);
   }
   
   
   #Phone-error.error,
   #Phone-error.error-pane-side,
   #Phone-3-error.error.error-pane.error-pane-side
   {
       left: auto;
       right: 0;
       width: 100%;
   }
   
   
   #Phone-error.abstract-validator-error 
   {
       left: 50px;
       right: 0;
       width: auto;
   }
   
   .fielddiv .error.error-pane.error-pane-side {
       margin-top: 19px;
   }
   
   #main-form-test {
       display: flex;
       justify-content: center;
       align-items: center;
   }
   
   #main-form-test .form-block {
       width: 580px;
       max-width: 580px;
   }
   
   #wf-form-Page-Form .columns-2.w-row {
       margin: 0 auto;
   }
   
   /* Адаптивность для мобильных */
   @media screen and (max-width: 767px) {
       #main-form-test .form-block {
           width: 100%;
           max-width: 100%;
       }
   
       #tsw_1 {
           max-width: 95%;
       }
   }
   
   .w-clearfix.w-col.w-col-3.w-col-medium-6.w-col-small-6 {
       min-height: 70px;
   }
   
   @media (max-width: 991px) {
       #wf-form-Programs-Form .w-layout-blockcontainer.container.w-clearfix.w-container, footer .w-checkbox.checkbox-field, #wf-form-Page-Form .w-checkbox.checkbox-field, #footer .w-checkbox.checkbox-field {
           margin-top: 10px;
       }
   }