/* ============================================================================
   Vincar — contact-to-form layer.
   Replaces direct contacts (phone, МАКС, Telegram, VK) with a lead-capture
   modal. Brand: dark #171515 + coral #fa876b/#ff5e3f, Unbounded + Manrope.
   ========================================================================== */
:root{ --vc-accent:#fa876b; --vc-accent-2:#ff5e3f; }

/* footer phone → "Заказать звонок" icon-link */
.vc-phone-cta{display:inline-flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap;}
.vc-phone-cta svg{width:16px;height:16px;flex:none;}
@media (max-width:479px){ .vc-phone-cta .vc-phone-label{display:none;} }

/* ---- modal --------------------------------------------------------------- */
.vc-modal{position:fixed;inset:0;z-index:100060;display:flex;align-items:center;justify-content:center;padding:20px;}
.vc-modal[hidden]{display:none;}
.vc-modal__overlay{position:absolute;inset:0;background:rgba(8,6,6,.72);
  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:vc-fade .25s ease;}
.vc-modal__card{position:relative;width:100%;max-width:412px;
  background:linear-gradient(180deg,#211d1b,#171413);
  border:1px solid rgba(255,255,255,.08);border-radius:22px;
  padding:34px 30px 26px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8);
  font-family:'Manrope',Arial,sans-serif;color:#f2f0ef;
  animation:vc-pop .4s cubic-bezier(.16,1,.3,1);max-height:calc(100vh - 40px);overflow:auto;}
@keyframes vc-fade{from{opacity:0}to{opacity:1}}
@keyframes vc-pop{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}

.vc-modal__close{position:absolute;top:14px;right:16px;width:34px;height:34px;border:0;
  background:rgba(255,255,255,.06);color:#cfcac8;border-radius:50%;font-size:22px;line-height:1;
  cursor:pointer;transition:background .2s,color .2s,transform .2s;}
.vc-modal__close:hover{background:rgba(255,255,255,.13);color:#fff;transform:rotate(90deg);}

.vc-modal__icon{width:58px;height:58px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;background:linear-gradient(135deg,var(--vc-accent),var(--vc-accent-2));
  box-shadow:0 10px 24px -8px rgba(250,135,107,.7);}
.vc-modal__icon svg{width:28px;height:28px;color:#fff;}

.vc-modal__title{font-family:'Unbounded',Arial,sans-serif;font-weight:600;font-size:23px;line-height:1.2;margin:0 0 8px;color:#fff;}
.vc-modal__sub{font-size:15px;line-height:1.45;margin:0 0 20px;color:#b9b3b0;}

.vc-modal__form{display:flex;flex-direction:column;gap:12px;}
.vc-modal__input{width:100%;box-sizing:border-box;height:54px;padding:0 18px;
  background:#0f0d0c;border:1.5px solid rgba(255,255,255,.12);border-radius:13px;
  color:#fff;font-family:'Unbounded',Arial,sans-serif;font-size:17px;letter-spacing:.3px;
  transition:border-color .2s,box-shadow .2s;outline:none;}
.vc-modal__input::placeholder{color:#6e6967;letter-spacing:.5px;}
.vc-modal__input:focus{border-color:var(--vc-accent);box-shadow:0 0 0 3px rgba(250,135,107,.25);}
.vc-modal__input.vc-invalid{border-color:#e5533d;box-shadow:0 0 0 3px rgba(229,83,61,.22);}

.vc-modal__submit{width:100%;height:54px;border:0;border-radius:13px;cursor:pointer;
  font-family:'Unbounded',Arial,sans-serif;font-weight:600;font-size:16px;color:#fff;
  background:linear-gradient(135deg,var(--vc-accent),var(--vc-accent-2));
  box-shadow:0 12px 28px -10px rgba(250,135,107,.75);
  transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,filter .25s;}
.vc-modal__submit:hover{transform:translateY(-2px);filter:brightness(1.06);}
.vc-modal__submit:active{transform:translateY(0);}
.vc-modal__submit[disabled]{opacity:.6;cursor:default;transform:none;}

.vc-modal__err{color:#ff7a63;font-size:13.5px;line-height:1.4;margin-top:-2px;}
.vc-modal__note{font-size:11.5px;line-height:1.45;color:#857f7c;margin:6px 0 0;text-align:center;}
.vc-modal__note a{color:#a9a3a0;text-decoration:underline;}

.vc-modal__success{text-align:center;padding:8px 0 6px;animation:vc-fade .3s ease;}
.vc-modal__success-icon{width:64px;height:64px;border-radius:50%;margin:0 auto 16px;
  display:flex;align-items:center;justify-content:center;font-size:32px;color:#fff;
  background:linear-gradient(135deg,#3ec96b,#22a85a);box-shadow:0 12px 28px -10px rgba(34,168,90,.7);}
.vc-modal__success-text{font-size:17px;line-height:1.5;color:#f2f0ef;margin:0;}

@media (prefers-reduced-motion:reduce){
  .vc-modal__overlay,.vc-modal__card,.vc-modal__success{animation:none;}
  .vc-modal__submit,.vc-modal__close{transition:none;}
}
