/* Book a Demo Modal */
.demo-modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:3000;
  opacity:0;
  visibility:hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.demo-modal.active{
  opacity:1;
  visibility:visible;
}

.demo-modal-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0);
  transition: background 0.4s ease;
}

.demo-modal.active .demo-modal-overlay{
  background:rgba(0,0,0,0.55);
}

.demo-modal-content{
  position:relative;
  max-width:420px;
  width:90%;
  background:#ffffff;
  padding:32px 28px 36px;
  border-radius:8px;
  z-index:2;
  font-family: Barlow, sans-serif;
  transform:translateY(24px);
  opacity:0;
  transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.4s ease;
}

.demo-modal.active .demo-modal-content{
  transform:translateY(0);
  opacity:1;
}

.demo-modal-content h2{
  margin:0 0 20px;
  font-size:28px;
  font-weight:700;
  color:#111;
}

.demo-form{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.demo-form label span{
  font-size:12px;
  font-weight:700;
  letter-spacing:0.14em;
  color:#2f9a86;
  margin-bottom:3px;
  display:block;
}

.demo-form input{
  width:100%;
  padding:12px 14px;
  font-size:14px;
  border:1px solid #e0e0e0;
  border-radius:4px;
}

.demo-form input:focus{
  outline:none;
  border-color:#2f9a86;
}

.demo-submit{
  margin-top:8px;
  background:#2f9a86;
  color:#ffffff;
  border:none;
  padding:14px;
  font-weight:800;
  font-size:13px;
  letter-spacing:0.08em;
  cursor:pointer;
  border-radius:4px;
}

.demo-close{
  position:absolute;
  top:14px;
  right:16px;
  background:none;
  border:none;
  font-size:22px;
  cursor:pointer;
  color:#444;
}
@media (max-width: 768px) {
  .demo-modal-content {
    padding-left: 10px;
    padding-right: 10px;
  }
}
