:root{
  --shak-cf-accent:#ff9f43;
  --shak-cf-accent-2:#e67e22;
  --shak-cf-dark:#223042;
  --shak-cf-text:#5c6673;
  --shak-cf-soft:#fffaf2;
  --shak-cf-soft-2:#f6f7fb;
  --shak-cf-border:rgba(34,48,66,.10);
  --shak-cf-radius:24px;
  --shak-cf-shadow:0 18px 45px rgba(16,24,40,.10);
}

.shak-contact-form-wrap{
  direction:rtl;
  font-family:'Cairo',sans-serif;
}

.shak-contact-form-wrap *{
  box-sizing:border-box;
  font-family:'Cairo',sans-serif;
}

.shak-contact-form-shell{
  max-width:980px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--shak-cf-border);
  border-radius:30px;
  box-shadow:var(--shak-cf-shadow);
  padding:32px;
  background-image:radial-gradient(700px 220px at 100% 0, rgba(255,159,67,.08), transparent 55%);
}

.shak-contact-form-head{
  text-align:center;
  margin-bottom:26px;
}

.shak-contact-form-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,159,67,.10);
  border:1px solid rgba(255,159,67,.18);
  color:var(--shak-cf-dark);
  font-weight:800;
  font-size:14px;
}

.shak-contact-form-head h2{
  margin:14px 0 8px;
  color:var(--shak-cf-dark);
  font-size:38px;
  line-height:1.2;
  font-weight:900;
}

.shak-contact-form-head p,
.shak-contact-form-intro{
  margin:0 auto;
  max-width:740px;
  color:var(--shak-cf-text);
  font-size:16px;
}

.shak-contact-form-intro{
  margin-bottom:22px;
  text-align:center;
}

.shak-contact-form-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:18px;
}

.shak-contact-form-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.shak-contact-form-field-full{
  grid-column:1 / -1;
}

.shak-contact-form-field label{
  color:var(--shak-cf-dark);
  font-size:15px;
  font-weight:800;
}

.shak-contact-form-field label span{
  color:var(--shak-cf-text);
  font-weight:600;
  font-size:13px;
}

.shak-contact-form-field input,
.shak-contact-form-field textarea{
  width:100%;
  border:1px solid var(--shak-cf-border);
  background:var(--shak-cf-soft-2);
  border-radius:18px;
  padding:15px 16px;
  color:var(--shak-cf-dark);
  font-size:15px;
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.shak-contact-form-field input:focus,
.shak-contact-form-field textarea:focus{
  outline:none;
  border-color:rgba(255,159,67,.55);
  box-shadow:0 0 0 4px rgba(255,159,67,.12);
  background:#fff;
}

.shak-contact-form-field textarea{
  resize:vertical;
  min-height:170px;
}

.shak-contact-form-honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0, 0, 0, 0)!important;
  border:0!important;
}

.shak-contact-form-consent{
  margin-top:18px;
  background:var(--shak-cf-soft);
  border:1px solid rgba(255,159,67,.14);
  border-radius:18px;
  padding:14px 16px;
}

.shak-contact-form-consent label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--shak-cf-dark);
  font-size:14px;
  font-weight:700;
}

.shak-contact-form-consent input{
  margin-top:3px;
}

.shak-contact-form-response{
  display:none;
  margin-top:18px;
  padding:14px 16px;
  border-radius:18px;
  font-weight:700;
  line-height:1.7;
}

.shak-contact-form-response.is-visible{
  display:block;
}

.shak-contact-form-response.is-success{
  background:#edf8ef;
  border:1px solid #c7e7ce;
  color:#166534;
}

.shak-contact-form-response.is-error{
  background:#fff0f0;
  border:1px solid #f5c2c2;
  color:#991b1b;
}

.shak-contact-form-actions{
  margin-top:20px;
  display:flex;
  justify-content:center;
}

.shak-contact-form-button{
  min-width:220px;
  border:0;
  border-radius:999px;
  padding:15px 24px;
  background:linear-gradient(135deg, var(--shak-cf-accent), var(--shak-cf-accent-2));
  color:#fff;
  font-size:16px;
  font-weight:900;
  cursor:pointer;
  transition:transform .2s ease, opacity .2s ease, box-shadow .2s ease;
  box-shadow:0 14px 28px rgba(255,159,67,.22);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.shak-contact-form-button:hover{
  transform:translateY(-2px);
}

.shak-contact-form-button:disabled{
  cursor:not-allowed;
  opacity:.8;
  transform:none;
}

.shak-contact-form-spinner{
  width:18px;
  height:18px;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  border-radius:50%;
  display:none;
  animation:shakCfSpin .8s linear infinite;
}

.shak-contact-form-wrap.is-loading .shak-contact-form-spinner{
  display:inline-block;
}

@keyframes shakCfSpin{
  to{transform:rotate(360deg)}
}

@media (max-width: 767px){
  .shak-contact-form-shell{
    padding:22px 18px;
    border-radius:24px;
  }

  .shak-contact-form-head h2{
    font-size:30px;
  }

  .shak-contact-form-grid{
    grid-template-columns:1fr;
  }

  .shak-contact-form-button{
    width:100%;
  }
}
