:root{
  --cf-bg:#fff; --cf-border:#e2e8f0; --cf-primary:var(--zv-brand); --cf-primary-dark:var(--zv-brand-hover);
  --cf-text:#1a365d; --cf-muted:#4a5568; --cf-surface:#f7fafc;
  --cf-shadow:0 4px 10px rgba(0,0,0,.08);
  --cf-radius-lg:20px; --cf-radius-md:16px; --cf-radius-sm:12px;
  --cf-success:#10b981;
}

/* BASE */
.popup{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.popup.active{display:flex;}
.popup__overlay{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;animation:fadeInOverlay .25s forwards;}
.popup__content{position:relative;z-index:10;background:var(--cf-bg);border-radius:var(--cf-radius-lg);box-shadow:var(--cf-shadow);
  width:90%;max-width:520px;overflow:hidden;padding:40px 32px;opacity:0;transform:scale(.95);animation:fadeZoomIn .3s forwards;
  display:flex;flex-direction:column;align-items:center;justify-content:center;}
.popup__close{position:absolute;top:16px;right:18px;border:none;background:transparent;font-size:2rem;color:var(--cf-muted);cursor:pointer;transition:color .2s;z-index:20;}
.popup__close:hover{color:var(--cf-primary);}
@keyframes fadeInOverlay{to{opacity:1}}
@keyframes fadeZoomIn{to{opacity:1;transform:scale(1)}}
@keyframes fadeZoomOut{to{opacity:0;transform:scale(.95)}}

/* ЦЕНТРИРОВАНИЕ ВСЕГО КОНТЕНТА */
.popup .wpcf7{
  width:100%;
  text-align:center;
}
.popup .wpcf7 form{
  text-align:left;
}
.popup h2, .popup h3, .popup h4{
  text-align:center;
  margin:0 0 20px;
}

/* CF7 fields */
.popup .wpcf7 input[type="text"],
.popup .wpcf7 input[type="tel"],
.popup .wpcf7 input[type="email"],
.popup .wpcf7 textarea{
  width:100%;background:var(--cf-bg);border:1px solid var(--cf-border);border-radius:var(--cf-radius-sm);
  padding:12px 14px;font-size:15px;transition:border-color .18s,box-shadow .18s;margin-bottom:14px;
}
.popup .wpcf7 input:focus,.popup .wpcf7 textarea:focus{border-color:var(--cf-primary);box-shadow:0 0 0 3px rgba(86,92,224,.15);outline:none;}
.popup .wpcf7-submit{width:100%;background:var(--cf-primary);color:#fff;border:none;border-radius:var(--cf-radius-sm);
  padding:14px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s;}
.popup .wpcf7-submit:hover{background:var(--cf-primary-dark);box-shadow:0 6px 18px rgba(86,92,224,.2);}

/* SUCCESS MESSAGE */
.popup__success{
  text-align:center;
  padding:30px 20px;
  opacity:0;
  transform:translateY(20px);
  transition:all .4s ease;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.popup__success-icon{
  width:80px;
  height:80px;
  background:var(--cf-success);
  color:#fff;
  font-size:50px;
  line-height:80px;
  border-radius:50%;
  margin:0 auto 20px;
  box-shadow:0 10px 25px rgba(16,185,129,.25);
}
.popup__success-title{
  font-size:24px;
  font-weight:700;
  color:var(--cf-text);
  margin:0 0 12px;
}
.popup__success-text{
  font-size:16px;
  color:var(--cf-muted);
  margin:0;
  line-height:1.5;
}

/* CF7 VALIDATION ERRORS */
.popup .wpcf7-not-valid-tip{
  color:#e53e3e;
  font-size:13px;
  margin-top:-10px;
  margin-bottom:10px;
  display:block;
}

/* СКРЫВАЕМ СТАНДАРТНОЕ СООБЩЕНИЕ CF7 ПОСЛЕ УСПЕШНОЙ ОТПРАВКИ */
.popup .wpcf7-response-output.wpcf7-mail-sent-ok{
  display:none !important;
}

/* Показываем сообщения об ошибках */
.popup .wpcf7-response-output.wpcf7-validation-errors,
.popup .wpcf7-response-output.wpcf7-spam-blocked,
.popup .wpcf7-response-output.wpcf7-mail-sent-ng{
  border:2px solid #e53e3e;
  background:#fee;
  color:#e53e3e;
  padding:12px 16px;
  border-radius:var(--cf-radius-sm);
  margin-top:16px;
  font-size:14px;
  display:block !important;
}
