/* ═══════════════════════════════════════════════════════════════
   Avorino — Form Styles (CDN)
   Targets Custom Elements inside native Webflow Form Block.
   Uses [name] selectors + tag selectors to style inputs.
   ═══════════════════════════════════════════════════════════════ */

/* ── Form container ── */
.w-form,
[data-name="Contact Form"],
[data-name="Careers Application"],
[data-name="Free Estimate"] {
  width: 100%;
}

/* ── All labels inside forms ── */
.w-form label,
.w-form-done + form label,
form label {
  display: block !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: inherit !important;
  opacity: 0.4 !important;
  margin-top: 28px !important;
  margin-bottom: 6px !important;
  padding: 0 !important;
}

/* First label no top margin */
.w-form form > div:first-child label,
.w-form form > label:first-child {
  margin-top: 0 !important;
}

/* ── All inputs, selects, textareas inside forms ── */
.w-form input[type="text"],
.w-form input[type="email"],
.w-form input[type="tel"],
.w-form input[type="number"],
.w-form input[type="url"],
.w-form select,
.w-form textarea {
  width: 100% !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: #111111 !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.12) !important;
  border-radius: 0 !important;
  padding: 12px 0 !important;
  margin: 0 0 4px 0 !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: border-color 0.3s ease !important;
  height: auto !important;
}

.w-form input:focus,
.w-form select:focus,
.w-form textarea:focus {
  border-bottom-color: #c8a86e !important;
}

.w-form input::placeholder,
.w-form textarea::placeholder {
  color: #111111 !important;
  opacity: 0.28 !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
}

/* ── Select dropdown ── */
.w-form select {
  cursor: pointer !important;
  color: #111111 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23111' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 2px center !important;
  padding-right: 28px !important;
}

.w-form select option {
  background-color: #f0ede8;
  color: #111111;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 15px;
  padding: 10px 14px;
}

/* ── Textarea ── */
.w-form textarea {
  min-height: 100px !important;
  resize: vertical !important;
}

/* ── File input ── */
.w-form input[type="file"] {
  border-bottom: 1px solid rgba(17, 17, 17, 0.08) !important;
  padding: 14px 0 !important;
  font-size: 14px !important;
  opacity: 0.65 !important;
  cursor: pointer !important;
}

.w-form input[type="file"]::-webkit-file-upload-button {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 8px 20px;
  border: 1px solid rgba(17, 17, 17, 0.15);
  border-radius: 999px;
  background: transparent;
  color: #111111;
  cursor: pointer;
  margin-right: 14px;
  transition: background 0.3s ease;
}

.w-form input[type="file"]::-webkit-file-upload-button:hover {
  background: rgba(17, 17, 17, 0.04);
}

/* ── Submit button ── */
.w-form button[type="submit"],
.w-form input[type="submit"] {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #f0ede8 !important;
  background-color: #111111 !important;
  border: none !important;
  padding: 22px 48px !important;
  border-radius: 999px !important;
  cursor: pointer !important;
  width: 100% !important;
  margin-top: 32px !important;
  transition: background-color 0.35s ease, transform 0.35s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.w-form button[type="submit"]:hover,
.w-form input[type="submit"]:hover {
  background-color: #1a1a1a !important;
  transform: translateY(-1px) !important;
}

/* ── 2-column grid row (Email + Phone) ── */
.av-form-grid-2,
[class*="form-grid"] {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-column-gap: 24px !important;
}

/* ── Success / Error message styling ── */
.w-form-done {
  background-color: rgba(42, 90, 58, 0.08) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  text-align: center !important;
  color: #111111 !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
}

.w-form-fail {
  background-color: rgba(200, 34, 42, 0.06) !important;
  border-radius: 12px !important;
  padding: 16px !important;
  margin-top: 12px !important;
  color: #c8222a !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 14px !important;
}

/* ═══════════════════════════════════════════
   DARK VARIANT (careers page)
   Apply class "av-form-dark" to the Form Block
   ═══════════════════════════════════════════ */
.av-form-dark label {
  color: #f0ede8 !important;
}

.av-form-dark input,
.av-form-dark select,
.av-form-dark textarea {
  color: #f0ede8 !important;
  border-bottom-color: rgba(240, 237, 232, 0.12) !important;
}

.av-form-dark input::placeholder,
.av-form-dark textarea::placeholder {
  color: #f0ede8 !important;
  opacity: 0.22 !important;
}

.av-form-dark select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23f0ede8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.av-form-dark button[type="submit"] {
  background-color: #f0ede8 !important;
  color: #111111 !important;
}

.av-form-dark button[type="submit"]:hover {
  background-color: #ffffff !important;
}

/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */
@media (max-width: 767px) {
  .av-form-grid-2,
  [class*="form-grid"] {
    grid-template-columns: 1fr !important;
    grid-column-gap: 0 !important;
  }

  .w-form label {
    margin-top: 22px !important;
    font-size: 10px !important;
  }

  .w-form input[type="text"],
  .w-form input[type="email"],
  .w-form input[type="tel"],
  .w-form select,
  .w-form textarea {
    font-size: 15px !important;
  }

  .w-form button[type="submit"],
  .w-form input[type="submit"] {
    padding: 18px 36px !important;
    margin-top: 24px !important;
  }
}
