/* WPForms Layout & Reset Overrides */
.wpforms-container {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.wpforms-container form.wpforms-form {
  margin: 0 !important;
  padding: 0 !important;
}

.wpforms-form .wpforms-field-container {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.8rem !important;
  margin: 0 0 1.2rem 0 !important;
  padding: 0 !important;
}

.wpforms-form .wpforms-field {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: none !important;
  box-sizing: border-box !important;
}

.wpforms-form .wpforms-field.wpforms-one-half {
  width: calc(50% - 0.4rem) !important;
}

.wpforms-form .wpforms-field-row {
  display: flex !important;
  gap: 0.8rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wpforms-form .wpforms-field-row-block {
  flex: 1 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 600px) {
  .wpforms-form .wpforms-field.wpforms-one-half {
    width: 100% !important;
  }

  .wpforms-form .wpforms-field-row {
    flex-direction: column !important;
    gap: 0.8rem !important;
  }
}

/* CASE 1: White Background Forms (.digicon-white-bg-form) */
.digicon-white-bg-form .wpforms-title {
  color: #333333 !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  margin-bottom: 0.2rem !important;
}

.digicon-white-bg-form .wpforms-description {
  color: #718096 !important;
  font-size: 0.85rem !important;
  margin-bottom: 1.2rem !important;
}

.digicon-white-bg-form .wpforms-field-label {
  display: block !important;
  font-size: 0.73rem !important;
  font-weight: 700 !important;
  color: #333333 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  margin-bottom: 0.35rem !important;
}

.digicon-white-bg-form .wpforms-field-sublabel {
  display: block !important;
  font-size: 0.65rem !important;
  font-weight: 500 !important;
  color: #718096 !important;
  text-transform: uppercase !important;
  margin-top: 0.2rem !important;
}

.digicon-white-bg-form input[type="text"],
.digicon-white-bg-form input[type="email"],
.digicon-white-bg-form input[type="tel"],
.digicon-white-bg-form input[type="number"],
.digicon-white-bg-form select,
.digicon-white-bg-form textarea {
  width: 100% !important;
  background-color: #f8f9fa !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 0.6rem !important;
  padding: 0.65rem 0.95rem !important;
  color: #2D3748 !important;
  font-size: 0.88rem !important;
  transition: border-color 0.2s, background-color 0.2s !important;
  font-family: inherit !important;
  box-sizing: border-box !important;
  height: auto !important;
}

.digicon-white-bg-form select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.95rem center !important;
  background-size: 1rem !important;
  padding-right: 2.5rem !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

.digicon-white-bg-form input::placeholder,
.digicon-white-bg-form textarea::placeholder {
  color: #A0AEC0 !important;
  opacity: 1 !important;
}

.digicon-white-bg-form input:focus,
.digicon-white-bg-form select:focus,
.digicon-white-bg-form textarea:focus {
  outline: none !important;
  border-color: #cbd5e1 !important;
  background-color: #ffffff !important;
  box-shadow: none !important;
}

.digicon-white-bg-form textarea {
  resize: vertical !important;
  min-height: 100px !important;
}

.digicon-white-bg-form .wpforms-submit-container {
  margin: 0 !important;
  padding: 0 !important;
}

.digicon-white-bg-form button.wpforms-submit {
  width: 100% !important;
  background: #cc0000 !important;
  color: #ffffff !important;
  padding: 0.82rem !important;
  border-radius: 50px !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer !important;
  transition: transform 0.15s, box-shadow 0.2s !important;
  margin-top: 0.3rem !important;
  box-shadow: 0 4px 15px rgba(204, 0, 0, 0.15) !important;
  height: auto !important;
}

.digicon-white-bg-form button.wpforms-submit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(204, 0, 0, 0.25) !important;
}

.digicon-white-bg-form label.wpforms-error {
  color: #e53e3e !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  margin-top: 0.25rem !important;
}

.digicon-white-bg-form .wpforms-has-error input,
.digicon-white-bg-form .wpforms-has-error select,
.digicon-white-bg-form .wpforms-has-error textarea {
  border-color: #e53e3e !important;
}


/* CASE 2: Red Background Forms (.digicon-red-bg-form) */
.digicon-red-bg-form .wpforms-title {
  color: #ffffff !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  margin-bottom: 0.2rem !important;
}

.digicon-red-bg-form .wpforms-description {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.85rem !important;
  margin-bottom: 1.2rem !important;
}

.digicon-red-bg-form .wpforms-field-label {
  display: block !important;
  font-size: 0.73rem !important;
  font-weight: 700 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  margin-bottom: 0.35rem !important;
}

.digicon-red-bg-form .wpforms-field-sublabel {
  display: block !important;
  font-size: 0.65rem !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.6) !important;
  text-transform: uppercase !important;
  margin-top: 0.2rem !important;
}

.digicon-red-bg-form input[type="text"],
.digicon-red-bg-form input[type="email"],
.digicon-red-bg-form input[type="tel"],
.digicon-red-bg-form input[type="number"],
.digicon-red-bg-form select,
.digicon-red-bg-form textarea {
  width: 100% !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 0.6rem !important;
  padding: 0.65rem 0.95rem !important;
  color: #ffffff !important;
  font-size: 0.88rem !important;
  transition: border-color 0.2s, background-color 0.2s !important;
  font-family: inherit !important;
  box-sizing: border-box !important;
  height: auto !important;
}

.digicon-red-bg-form select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.95rem center !important;
  background-size: 1rem !important;
  padding-right: 2.5rem !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

.digicon-red-bg-form select option {
  color: #222 !important;
  background: #fff !important;
}

.digicon-red-bg-form input::placeholder,
.digicon-red-bg-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
  opacity: 1 !important;
}

.digicon-red-bg-form input:focus,
.digicon-red-bg-form select:focus,
.digicon-red-bg-form textarea:focus {
  outline: none !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
  background-color: rgba(255, 255, 255, 0.16) !important;
  box-shadow: none !important;
}

.digicon-red-bg-form textarea {
  resize: vertical !important;
  min-height: 100px !important;
}

.digicon-red-bg-form .wpforms-submit-container {
  margin: 0 !important;
  padding: 0 !important;
}

.digicon-red-bg-form button.wpforms-submit {
  width: 100% !important;
  background: #ffffff !important;
  color: #cc0000 !important;
  padding: 0.82rem !important;
  border-radius: 50px !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer !important;
  transition: transform 0.15s, box-shadow 0.2s !important;
  margin-top: 0.3rem !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
  height: auto !important;
}

.digicon-red-bg-form button.wpforms-submit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.18) !important;
}

.digicon-red-bg-form label.wpforms-error {
  color: #ffcccc !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  margin-top: 0.25rem !important;
}

.digicon-red-bg-form .wpforms-has-error input,
.digicon-red-bg-form .wpforms-has-error select,
.digicon-red-bg-form .wpforms-has-error textarea {
  border-color: #ffcccc !important;
}

.wpforms-container input.wpforms-field-medium,
.wpforms-container select.wpforms-field-medium,
.wpforms-container .wpforms-field-row.wpforms-field-medium,
.wp-core-ui div.wpforms-container input.wpforms-field-medium,
.wp-core-ui div.wpforms-container select.wpforms-field-medium,
.wp-core-ui div.wpforms-container .wpforms-field-row.wpforms-field-medium {
  max-width: 80%;
}