/* ==========================================================================
   ARDEN GROUP - FORMS STYLES (CONTACT & CAREERS)
   ========================================================================== */

.ag-form-wrapper {
  background: var(--ag-white);
  padding: 44px;
  border-radius: var(--ag-radius-md);
  border: 1px solid var(--ag-border-subtle);
  box-shadow: var(--ag-shadow-card);
}

.ag-section-dark .ag-form-wrapper {
  background: var(--ag-secondary-dark);
  border-color: rgba(255, 255, 255, 0.08);
}

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

@media (max-width: 650px) {
  .ag-form-grid-2 {
    grid-template-columns: 1fr;
  }
  .ag-form-wrapper {
    padding: 28px 20px;
  }
}

.ag-form-group {
  margin-bottom: 22px;
  position: relative;
}

.ag-form-group.full-width {
  grid-column: 1 / -1;
}

.ag-form-label {
  display: block;
  font-family: var(--ag-font-heading);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--ag-heading-dark);
  margin-bottom: 8px;
  letter-spacing: 0.02em;
}

.ag-section-dark .ag-form-label {
  color: var(--ag-white);
}

.ag-form-label .required {
  color: #E53E3E;
  margin-left: 3px;
}

.ag-form-control {
  width: 100%;
  padding: 14px 18px;
  font-family: var(--ag-font-body);
  font-size: 0.95rem;
  color: var(--ag-heading-dark);
  background-color: var(--ag-light-grey);
  border: 1px solid var(--ag-border-subtle);
  border-radius: var(--ag-radius-sm);
  transition: var(--ag-transition-smooth);
  outline: none;
}

.ag-section-dark .ag-form-control {
  background-color: #171A1D;
  border-color: rgba(255, 255, 255, 0.12);
  color: var(--ag-white);
}

.ag-form-control:focus {
  border-color: var(--ag-primary-gold);
  background-color: var(--ag-white);
  box-shadow: 0 0 0 3px rgba(201, 162, 58, 0.2);
}

.ag-section-dark .ag-form-control:focus {
  background-color: #1F2327;
  border-color: var(--ag-primary-gold);
}

textarea.ag-form-control {
  min-height: 140px;
  resize: vertical;
}

/* File Upload Custom Style */
.ag-file-upload-box {
  position: relative;
  border: 2px dashed rgba(201, 162, 58, 0.4);
  background: rgba(201, 162, 58, 0.03);
  padding: 26px 20px;
  text-align: center;
  border-radius: var(--ag-radius-sm);
  cursor: pointer;
  transition: var(--ag-transition-smooth);
}

.ag-file-upload-box:hover {
  border-color: var(--ag-primary-gold);
  background: rgba(201, 162, 58, 0.08);
}

.ag-file-upload-box input[type="file"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.ag-file-upload-text {
  font-size: 0.92rem;
  color: var(--ag-body-text);
}

.ag-section-dark .ag-file-upload-text {
  color: #A4ADB5;
}

.ag-file-upload-text strong {
  color: var(--ag-primary-gold);
  text-decoration: underline;
}

.ag-file-name-preview {
  margin-top: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--ag-primary-gold);
}

/* Honeypot field (hidden from real users) */
.ag-form-hp {
  display: none !important;
  visibility: hidden !important;
}

/* Form Response Messages */
.ag-form-message {
  margin-top: 20px;
  padding: 14px 18px;
  border-radius: var(--ag-radius-sm);
  font-size: 0.92rem;
  font-weight: 500;
  display: none;
}

.ag-form-message.success {
  display: block;
  background-color: rgba(46, 133, 64, 0.1);
  border: 1px solid #2E8540;
  color: #1E6B30;
}

.ag-section-dark .ag-form-message.success {
  background-color: rgba(72, 187, 120, 0.15);
  color: #68D391;
  border-color: #48BB78;
}

.ag-form-message.error {
  display: block;
  background-color: rgba(229, 62, 62, 0.1);
  border: 1px solid #E53E3E;
  color: #C53030;
}

.ag-section-dark .ag-form-message.error {
  background-color: rgba(245, 101, 101, 0.15);
  color: #FC8181;
  border-color: #F56565;
}

/* Spinner */
.ag-spinner {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: var(--ag-dark-charcoal);
  animation: ag-spin 0.8s linear infinite;
  margin-left: 8px;
}

@keyframes ag-spin {
  to { transform: rotate(360deg); }
}



/* ==========================================================================
   CONTACT FORM 7 INTEGRATION STYLES
   ========================================================================== */
.wpcf7-form p {
  margin-bottom: 18px;
}

.wpcf7-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  padding: 14px 18px;
  font-family: var(--ag-font-body);
  font-size: 0.95rem;
  color: var(--ag-heading-dark);
  background-color: var(--ag-light-grey);
  border: 1px solid var(--ag-border-subtle);
  border-radius: var(--ag-radius-sm);
  transition: var(--ag-transition-smooth);
  outline: none;
  box-sizing: border-box;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  border-color: var(--ag-primary-gold);
  background-color: var(--ag-white);
  box-shadow: 0 0 0 3px rgba(201, 162, 58, 0.2);
}

.wpcf7-form input[type="submit"] {
  background-color: var(--ag-primary-gold);
  background-image: var(--ag-gold-gradient);
  color: #0E1A24;
  font-family: var(--ag-font-heading);
  font-size: 0.94rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 14px 34px;
  border-radius: var(--ag-radius-sm);
  cursor: pointer;
  border: 1px solid var(--ag-primary-gold);
  box-shadow: 0 4px 15px rgba(201, 162, 58, 0.3);
  transition: var(--ag-transition-smooth);
}

.wpcf7-form input[type="submit"]:hover {
  background-color: var(--ag-gold-hover);
  background-image: none;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(201, 162, 58, 0.45);
}

.wpcf7-not-valid-tip {
  color: #E53E3E;
  font-size: 0.85rem;
  margin-top: 6px;
  font-weight: 600;
}

.wpcf7-response-output {
  border-radius: var(--ag-radius-sm) !important;
  padding: 14px 20px !important;
  margin: 20px 0 0 !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
}

.wpcf7-form.sent .wpcf7-response-output {
  border: 1px solid #38A169 !important;
  background: #F0FFF4 !important;
  color: #22543D !important;
}

.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output {
  border: 1px solid #E53E3E !important;
  background: #FFF5F5 !important;
  color: #9B2C2C !important;
}
