/*!
 * Glory Theme — Form components (CF7, request-assistance, etc.)
 * Responsive, touch-friendly, uses root design tokens.
 */

/* Wrapper */
.glory-contact-form-wrap,
.wpcf7-form,
.assist-form-wrap,
.glory-modal-card form{
  max-width: 100%;
}

/* Labels */
.glory-contact-form-wrap label,
.wpcf7-form label,
.assist-form-wrap label,
.glory-modal-card form label{
  display: block;
  margin-block-end: 0.35rem;
  font-weight: 600;
  font-size: clamp(0.9rem, 1.2vw, 0.95rem);
  color: var(--text);
}

/* Text inputs, textarea, select */
.glory-contact-form-wrap input[type="text"],
.glory-contact-form-wrap input[type="email"],
.glory-contact-form-wrap input[type="tel"],
.glory-contact-form-wrap input[type="url"],
.glory-contact-form-wrap input[type="number"],
.glory-contact-form-wrap textarea,
.glory-contact-form-wrap select,
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form textarea,
.wpcf7-form select,
.assist-form-wrap input[type="text"],
.assist-form-wrap input[type="email"],
.assist-form-wrap input[type="tel"],
.assist-form-wrap textarea,
.assist-form-wrap select{
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  padding: 0.6rem 0.85rem;
  margin-block-end: 0;
  font-family: inherit;
  font-size: clamp(0.9375rem, 1.2vw, 1rem);
  line-height: 1.4;
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  box-sizing: border-box;
}
textarea.wpcf7-form-control,
.assist-form-wrap textarea,
.glory-contact-form-wrap textarea{
  min-height: 120px;
  padding: 0.75rem 0.85rem;
  resize: vertical;
}
.glory-contact-form-wrap input:focus,
.glory-contact-form-wrap textarea:focus,
.glory-contact-form-wrap select:focus,
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus,
.assist-form-wrap input:focus,
.assist-form-wrap textarea:focus,
.assist-form-wrap select:focus{
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--ring);
}

/* Submit / buttons */
.glory-contact-form-wrap input[type="submit"],
.wpcf7-form input[type="submit"],
.assist-form-wrap input[type="submit"],
.assist-form-wrap .btn,
.glory-modal-card form button[type="submit"],
.glory-modal-card form .btn{
  min-height: 44px;
  padding: 0.65rem 1.25rem;
  font-family: inherit;
  font-size: clamp(0.9375rem, 1.2vw, 1rem);
  font-weight: 600;
  cursor: pointer;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  color: #fff !important;
  transition: transform var(--dur) var(--ease), filter var(--dur) var(--ease);
  -webkit-tap-highlight-color: transparent;
}
.glory-contact-form-wrap input[type="submit"]:hover,
.wpcf7-form input[type="submit"]:hover,
.assist-form-wrap input[type="submit"]:hover,
.assist-form-wrap .btn:hover,
.glory-modal-card form button[type="submit"]:hover{
  transform: translateY(-1px);
  filter: saturate(1.05);
}
.glory-contact-form-wrap input[type="submit"]:focus-visible,
.wpcf7-form input[type="submit"]:focus-visible,
.assist-form-wrap input[type="submit"]:focus-visible,
.assist-form-wrap .btn:focus-visible,
.glory-modal-card form button[type="submit"]:focus-visible{
  outline: 3px solid var(--ring);
  outline-offset: 2px;
}

/* Rows / spacing */
.glory-contact-form-wrap .form-row,
.wpcf7-form p,
.assist-form-wrap .form-row{
  margin-block-end: 1.25rem;
}
.glory-contact-form-wrap .form-row:last-child,
.wpcf7-form p:last-of-type,
.assist-form-wrap .form-row:last-child{
  margin-block-end: 0;
}

/* Validation / errors */
.wpcf7-not-valid-tip,
.glory-contact-form-wrap .error,
.assist-form-wrap .error{
  font-size: 0.875rem;
  color: #b91c1c;
  margin-block-start: 0.25rem;
}
html[data-theme="dark"] .wpcf7-not-valid-tip,
html[data-theme="dark"] .glory-contact-form-wrap .error,
html[data-theme="dark"] .assist-form-wrap .error{
  color: #fca5a5;
}
.wpcf7-form .wpcf7-not-valid{
  border-color: #b91c1c !important;
}
html[data-theme="dark"] .wpcf7-form .wpcf7-not-valid{
  border-color: #fca5a5 !important;
}

/* Responsive */
@media (max-width: 520px){
  .glory-contact-form-wrap input[type="text"],
  .glory-contact-form-wrap input[type="email"],
  .glory-contact-form-wrap input[type="tel"],
  .glory-contact-form-wrap textarea,
  .wpcf7-form input[type="text"],
  .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"],
  .wpcf7-form textarea,
  .assist-form-wrap input,
  .assist-form-wrap textarea{
    min-height: 48px;
    padding: 0.7rem 0.9rem;
  }
  .glory-contact-form-wrap input[type="submit"],
  .wpcf7-form input[type="submit"],
  .assist-form-wrap input[type="submit"]{
    width: 100%;
    min-height: 48px;
  }

  .glory-contact-form-wrap select,
  .wpcf7-form select,
  .assist-form-wrap select{
    min-height: 48px;
    padding: 0.7rem 0.9rem;
  }
}

@media (max-width: 360px){
  .glory-contact-form-wrap,
  .wpcf7-form,
  .assist-form-wrap{
    font-size: 0.9375rem;
  }
  .glory-contact-form-wrap input,
  .glory-contact-form-wrap textarea,
  .glory-contact-form-wrap select,
  .wpcf7-form input,
  .wpcf7-form textarea,
  .wpcf7-form select,
  .assist-form-wrap input,
  .assist-form-wrap textarea,
  .assist-form-wrap select{
    padding: 0.6rem 0.75rem;
  }
}
