.sms {
  max-width: 1100px;
  margin: 0 auto;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 18px;
  background: #fff;
}

.sms-notice {
  max-width: 1100px;
  margin: 0 auto 14px;
  padding: 10px 12px;
  border-radius: 8px;
}
.sms-notice--success {
  border: 1px solid #b7ebc6;
  background: #ecfdf3;
  color: #0f5132;
}
.sms-notice--error {
  border: 1px solid #f5c2c7;
  background: #f8d7da;
  color: #842029;
}

.sms-form .sms-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.sms-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

@media (max-width: 800px) {
  .sms-grid {
    grid-template-columns: 1fr;
  }
}

.sms-field label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
}

.sms-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.sms-required {
  color: #dc2626;
  font-weight: 700;
}

.sms-field input[type="text"],
.sms-field input[type="email"],
.sms-field input[type="tel"],
.sms-field textarea {
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px 12px;
  outline: none;
  background: #fff;
}

.sms-field input[type="text"]:focus,
.sms-field input[type="email"]:focus,
.sms-field input[type="tel"]:focus,
.sms-field textarea:focus {
  border-color: #9ca3af;
}

.sms-field--groups {
  grid-column: 1 / -1;
}

.sms-checks {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.sms-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
}

.sms-captcha {
  max-width: 120px;
}

.sms-actions {
  margin-top: 12px;
}

.sms-primary {
  background: #f28c28;
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 12px 18px;
  font-weight: 700;
  cursor: pointer;
}

.sms-primary:hover {
  background: #e67f1a;
}

/* intl-tel-input */
.sms .iti {
  width: 100%;
}

.sms .iti input {
  width: 100% !important;
}
