/* ==========================================================================
   DRYSHOD — ADAPTER: WPForms (Contact, Return Policy — DECISIONS §8 entry 12)

   components.css §32 styles WPForms' shape by element inside
   .wpforms-container, but the live plugin ships its classic "full" stylesheet
   whose every rule is prefixed `div.wpforms-container-full .wpforms-form`
   (three classes deep) — deeper than the design's two-deep selectors, so
   the plugin's widths (60% medium), 48% float columns, grey submit and
   `margin: 24px auto` won every tie (Fix 8). This file re-declares the
   design's §32 values one level deeper than the plugin —
   `.page-body div.wpforms-container .wpforms-form …` — so they win without
   !important. No plugin edits; plugin stylesheet left in place.
   ========================================================================== */

/* ---- container: flush left in the prose column, reading measure ------------ */
.page-body div.wpforms-container { max-width: 720px; margin: 0 0 var(--ds-s-8); }
.page-body div.wpforms-container .wpforms-form { max-width: none; }

/* ---- field wrapper, label, description ------------------------------------- */
.page-body div.wpforms-container .wpforms-form .wpforms-field { margin: 0 0 var(--ds-s-5); padding: 0; clear: both; }
.page-body div.wpforms-container .wpforms-form .wpforms-field-label {
  display: block; margin: 0 0 var(--ds-s-2); padding: 0; float: none;
  font-family: var(--ds-font-ui); font-size: var(--ds-t-label-sm); font-weight: 600; line-height: 1.3;
  letter-spacing: var(--ds-track-label); text-transform: uppercase; color: var(--ds-ink-3);
}
.page-body div.wpforms-container .wpforms-form .wpforms-required-label { color: var(--ds-error); margin-left: 2px; font-weight: 600; }
.page-body div.wpforms-container .wpforms-form .wpforms-field-description { margin: var(--ds-s-2) 0 0; font-size: var(--ds-t-meta); line-height: 1.5; color: var(--ds-ink-4); }
.page-body div.wpforms-container .wpforms-form .wpforms-field-sublabel { display: block; margin: var(--ds-s-1) 0 0; font-size: var(--ds-t-meta); line-height: 1.4; color: var(--ds-ink-5); }

/* ---- inputs: full width, design control ------------------------------------ */
.page-body div.wpforms-container .wpforms-form input[type="text"],
.page-body div.wpforms-container .wpforms-form input[type="email"],
.page-body div.wpforms-container .wpforms-form input[type="tel"],
.page-body div.wpforms-container .wpforms-form input[type="number"],
.page-body div.wpforms-container .wpforms-form input[type="url"],
.page-body div.wpforms-container .wpforms-form select,
.page-body div.wpforms-container .wpforms-form textarea {
  display: block; width: 100%; max-width: 100%; height: var(--ds-control-h); margin: 0; padding: 0 var(--ds-s-4);
  border: var(--ds-border) solid var(--ds-ink-4); border-radius: 0; background: var(--ds-paper); box-shadow: none;
  font-family: var(--ds-font-body); font-size: 16px; line-height: normal; color: var(--ds-ink);
}
.page-body div.wpforms-container .wpforms-form textarea { height: auto; min-height: 148px; padding: var(--ds-s-3) var(--ds-s-4); line-height: 1.5; resize: vertical; }
.page-body div.wpforms-container .wpforms-form input:hover,
.page-body div.wpforms-container .wpforms-form textarea:hover { border-color: var(--ds-ink-3); }
.page-body div.wpforms-container .wpforms-form input:focus,
.page-body div.wpforms-container .wpforms-form textarea:focus { outline: 0; border-color: var(--ds-ink); box-shadow: var(--ds-focus-ring); }
/* The plugin's size classes (medium 60%, small 25%) are cancelled: every field is the measure. */
.page-body div.wpforms-container .wpforms-form input.wpforms-field-small,
.page-body div.wpforms-container .wpforms-form input.wpforms-field-medium,
.page-body div.wpforms-container .wpforms-form input.wpforms-field-large,
.page-body div.wpforms-container .wpforms-form select.wpforms-field-small,
.page-body div.wpforms-container .wpforms-form select.wpforms-field-medium,
.page-body div.wpforms-container .wpforms-form select.wpforms-field-large,
.page-body div.wpforms-container .wpforms-form textarea.wpforms-field-small,
.page-body div.wpforms-container .wpforms-form textarea.wpforms-field-medium,
.page-body div.wpforms-container .wpforms-form textarea.wpforms-field-large,
.page-body div.wpforms-container .wpforms-form .wpforms-field-row.wpforms-field-small,
.page-body div.wpforms-container .wpforms-form .wpforms-field-row.wpforms-field-medium,
.page-body div.wpforms-container .wpforms-form .wpforms-field-row.wpforms-field-large { max-width: 100%; width: 100%; }

/* ---- rows and columns (name first/last; any multi-column field) ------------- */
.page-body div.wpforms-container .wpforms-form .wpforms-field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ds-s-4); margin: 0; position: static; }
.page-body div.wpforms-container .wpforms-form .wpforms-field-row::before,
.page-body div.wpforms-container .wpforms-form .wpforms-field-row::after { display: none; content: none; }
.page-body div.wpforms-container .wpforms-form .wpforms-field-row-block,
.page-body div.wpforms-container .wpforms-form .wpforms-one-half,
.page-body div.wpforms-container .wpforms-form .wpforms-one-third,
.page-body div.wpforms-container .wpforms-form .wpforms-two-thirds,
.page-body div.wpforms-container .wpforms-form .wpforms-two-fifths,
.page-body div.wpforms-container .wpforms-form .wpforms-one-fifth,
.page-body div.wpforms-container .wpforms-form .wpforms-first { width: auto; max-width: none; float: none; margin: 0; clear: none; min-width: 0; }
.page-body div.wpforms-container .wpforms-form .wpforms-field-row-block > input { width: 100%; }
/* Three-part name (first/middle/last) and address rows: three columns. */
.page-body div.wpforms-container .wpforms-form .wpforms-field-row:has(.wpforms-two-fifths) { grid-template-columns: 2fr 1fr 2fr; }

/* ---- radio / checkbox lists ------------------------------------------------- */
.page-body div.wpforms-container .wpforms-form .wpforms-field-radio ul,
.page-body div.wpforms-container .wpforms-form .wpforms-field-checkbox ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.page-body div.wpforms-container .wpforms-form .wpforms-field-radio li,
.page-body div.wpforms-container .wpforms-form .wpforms-field-checkbox li { display: flex; align-items: center; gap: var(--ds-s-3); min-height: var(--ds-tap-min); margin: 0; padding: 0; }
.page-body div.wpforms-container .wpforms-form .wpforms-field-radio input[type="radio"],
.page-body div.wpforms-container .wpforms-form .wpforms-field-checkbox input[type="checkbox"] {
  appearance: none; -webkit-appearance: none;
  width: 18px; height: 18px; flex: none; margin: 0; padding: 0; border-radius: var(--ds-radius-pill);
  border: var(--ds-border-strong) solid var(--ds-ink-4); background: var(--ds-paper);
  display: grid; place-items: center; float: none; vertical-align: middle;
}
.page-body div.wpforms-container .wpforms-form .wpforms-field-checkbox input[type="checkbox"] { border-radius: 0; }
.page-body div.wpforms-container .wpforms-form .wpforms-field-radio input[type="radio"]:checked,
.page-body div.wpforms-container .wpforms-form .wpforms-field-checkbox input[type="checkbox"]:checked { border-color: var(--ds-ink); }
.page-body div.wpforms-container .wpforms-form .wpforms-field-radio input[type="radio"]:checked::after { content: ""; width: 9px; height: 9px; border-radius: var(--ds-radius-pill); background: var(--ds-ink); }
.page-body div.wpforms-container .wpforms-form .wpforms-field-checkbox input[type="checkbox"]:checked::after { content: ""; width: 9px; height: 9px; background: var(--ds-ink); }
.page-body div.wpforms-container .wpforms-form .wpforms-field-radio input[type="radio"]:focus-visible,
.page-body div.wpforms-container .wpforms-form .wpforms-field-checkbox input[type="checkbox"]:focus-visible { outline: 0; box-shadow: var(--ds-focus-ring); }
.page-body div.wpforms-container .wpforms-form .wpforms-field-radio label,
.page-body div.wpforms-container .wpforms-form .wpforms-field-checkbox label,
.page-body div.wpforms-container .wpforms-form .wpforms-field-label-inline { display: inline; margin: 0; font-family: var(--ds-font-body); font-size: var(--ds-t-body-sm); font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--ds-ink-2); cursor: pointer; }

/* ---- file upload (modern drop zone) — Return Policy ------------------------- */
.page-body div.wpforms-container .wpforms-form .wpforms-field-file-upload .wpforms-uploader,
.page-body div.wpforms-container .wpforms-form .wpforms-file-upload-modern {
  border: var(--ds-border) dashed var(--ds-ink-4); border-radius: 0; background: var(--ds-paper-raised);
  padding: var(--ds-s-8) var(--ds-s-5); text-align: center; cursor: pointer; margin: 0;
  display: flex; flex-direction: column; align-items: center; gap: var(--ds-s-2);
}
.page-body div.wpforms-container .wpforms-form .wpforms-field-file-upload .wpforms-uploader:hover,
.page-body div.wpforms-container .wpforms-form .wpforms-file-upload-modern:hover { border-color: var(--ds-ink); background: var(--ds-paper-sunk); }
.page-body div.wpforms-container .wpforms-form .wpforms-uploader__primary,
.page-body div.wpforms-container .wpforms-form .wpforms-file-upload-modern .modern-title { font-family: var(--ds-font-ui); font-size: var(--ds-t-label); font-weight: 700; letter-spacing: var(--ds-track-label); text-transform: uppercase; color: var(--ds-ink); margin: 0; }
.page-body div.wpforms-container .wpforms-form .wpforms-uploader__secondary,
.page-body div.wpforms-container .wpforms-form .wpforms-file-upload-modern .modern-hint { font-size: var(--ds-t-meta); color: var(--ds-ink-4); margin: 0; }
.page-body div.wpforms-container .wpforms-form .wpforms-file-upload-modern .modern-title::after { display: none; }
.page-body div.wpforms-container .wpforms-form input[type="file"] { font-family: var(--ds-font-body); font-size: var(--ds-t-body-sm); }

/* ---- submit = .btn.btn--primary ---------------------------------------------- */
.page-body div.wpforms-container .wpforms-form .wpforms-submit-container { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ds-s-4); margin: var(--ds-s-6) 0 0; padding: 0; }
.page-body div.wpforms-container .wpforms-form button.wpforms-submit,
.page-body div.wpforms-container .wpforms-form button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--ds-s-2);
  width: auto; min-height: var(--ds-control-h); height: auto; margin: 0; padding: 0 var(--ds-s-8);
  font-family: var(--ds-font-ui); font-size: 17px; font-weight: 700; line-height: 1; letter-spacing: var(--ds-track-label); text-transform: uppercase;
  background: var(--ds-orange-action); border: var(--ds-border-strong) solid var(--ds-orange-action); border-radius: 0; color: #fff; cursor: pointer;
  box-shadow: none; text-shadow: none; transition: background var(--ds-dur) var(--ds-ease);
}
.page-body div.wpforms-container .wpforms-form button.wpforms-submit:hover,
.page-body div.wpforms-container .wpforms-form button[type="submit"]:hover { background: var(--ds-orange-press); border-color: var(--ds-orange-press); color: #fff; }
.page-body div.wpforms-container .wpforms-form button.wpforms-submit:focus-visible { outline: 0; box-shadow: var(--ds-focus-ring); }
.page-body div.wpforms-container .wpforms-form .wpforms-submit-spinner { display: none; }

/* ---- captcha slot (reserved 300×65; none configured today) --------------------- */
.page-body div.wpforms-container .wpforms-form .wpforms-recaptcha-container,
.page-body div.wpforms-container .wpforms-form .wpforms-captcha-container,
.page-body div.wpforms-container .wpforms-form .wpforms-turnstile-container { min-height: 65px; margin: 0 0 var(--ds-s-2); }

/* ---- errors + confirmation --------------------------------------------------- */
.page-body div.wpforms-container .wpforms-form .wpforms-error-container,
.page-body div.wpforms-container .wpforms-form .wpforms-error-alert { border: 0; border-left: var(--ds-border-struct) solid var(--ds-error); background: var(--ds-error-tint); padding: var(--ds-s-4) var(--ds-s-5); margin: 0 0 var(--ds-s-5); color: #5e1a11; font-size: var(--ds-t-body-sm); }
.page-body div.wpforms-container .wpforms-form .wpforms-field.wpforms-has-error input,
.page-body div.wpforms-container .wpforms-form .wpforms-field.wpforms-has-error textarea,
.page-body div.wpforms-container .wpforms-form input.wpforms-error,
.page-body div.wpforms-container .wpforms-form textarea.wpforms-error { border-color: var(--ds-error); border-width: var(--ds-border-strong); }
.page-body div.wpforms-container .wpforms-form label.wpforms-error,
.page-body div.wpforms-container .wpforms-form em.wpforms-error,
.page-body div.wpforms-container .wpforms-form .wpforms-error-message { display: block; margin: var(--ds-s-2) 0 0; font-family: var(--ds-font-body); font-size: var(--ds-t-meta); font-style: normal; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--ds-error); }
.page-body div.wpforms-container .wpforms-confirmation-container-full,
.page-body div.wpforms-confirmation-container-full {
  border: var(--ds-border) solid var(--ds-ok); border-left: var(--ds-border-struct) solid var(--ds-ok);
  background: var(--ds-ok-tint); color: #1e4a2b; padding: var(--ds-s-5) var(--ds-s-6); margin: 0 0 var(--ds-s-8); max-width: 720px;
  font-size: var(--ds-t-body-sm); line-height: 1.55;
}
.page-body div.wpforms-confirmation-container-full p { margin: 0; }

@media (max-width: 640px) {
  .page-body div.wpforms-container .wpforms-form .wpforms-field-row,
  .page-body div.wpforms-container .wpforms-form .wpforms-field-row:has(.wpforms-two-fifths) { grid-template-columns: minmax(0, 1fr); }
  .page-body div.wpforms-container .wpforms-form button.wpforms-submit { width: 100%; }
}
