/* ============================================================
   🚫 AI EDITS FORBIDDEN BEYOND THIS POINT 🚫
   This file has been intentionally stabilized.
   All rules below are known-good and production-safe.
   ❌ Do NOT refactor
   ❌ Do NOT optimize
   ❌ Do NOT remove !important flags
   ❌ Do NOT merge with other CSS files
   ❌ Do NOT restyle for aesthetics
   ✔ Changes allowed ONLY if:
     - WPForms updates break functionality
     - Accessibility regressions are discovered
     - Explicit instruction is given by the site owner
   Context:
   - WPForms injects inline + high-specificity CSS
   - Astra + Elementor override form styles aggressively
   - !important is REQUIRED for predictable behavior
   Last validated: [optional date]
   Owner: GPRS Website (Thomas)
============================================================ */

/* ============================================================
   GPRS — WPFORMS BASELINE STYLING (STABLE)
   Purpose:
   - Normalize text colors across light/dark modes
   - Remove WPForms default list bullets
   - Improve checkbox/radio usability & alignment
   - Soften input field backgrounds to match GPRS theme
   ⚠️ This file intentionally uses !important in a few places.
   ⚠️ Do NOT remove !important unless WPForms/Astra/Elementor
      defaults are fully disabled upstream.
============================================================ */

/* ============================================================
   INDEX
============================================================
   1. Text Color Baseline (Light / Dark)
   2. Privacy Policy Link Styling
   3. Remove Default List Bullets (Checkbox / Radio)
   4. Checkbox & Radio Row Enhancements
   5. Input Field Color Softening
============================================================ */

/* ============================================================
   1. TEXT COLOR BASELINE
============================================================ */

/* Light mode (default)
   - Establishes predictable baseline
   - Prevents inherited dark-mode overrides from themes/plugins
*/
.gprs-wpform,
.gprs-wpform * {
  color: #000000;
}

/* Dark mode
   - WPForms injects inline and higher-specificity styles
   - !important is REQUIRED to override:
     • WPForms core CSS
     • Astra form typography
     • Elementor global text rules
*/
html.gprs-dark .gprs-wpform,
html.gprs-dark .gprs-wpform * {
  color: #ffffff !important;
}

/* Required field asterisk
   - Explicit color so it remains visible in dark mode
   - !important required due to WPForms inline styling
*/
html.gprs-dark .gprs-wpform .wpforms-required-label {
  color: #ff6666 !important;
}

/* ============================================================
   2. PRIVACY POLICY LINK (INLINE HTML INSIDE FORM)
============================================================ */

/* Link placed via WPForms field description HTML
   - Styled here to keep HTML clean
*/
.gprs-wpform .gprs-policy-link {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.9rem;
  color: var(--clr-accent);
  text-decoration: underline;
}

/* Dark mode variant */
html.gprs-dark .gprs-wpform .gprs-policy-link {
  color: #cfe6ff;
}

/* ============================================================
   3. REMOVE DEFAULT LIST BULLETS (SAFE RESET)
============================================================ */

/* WPForms uses <ul><li> for checkbox/radio fields
   Browsers + themes often reintroduce bullets
   !important ensures a hard reset without layout impact
*/
.wpforms-form .wpforms-field-checkbox ul,
.wpforms-form .wpforms-field-radio ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Defensive reset in case list-style is reapplied at <li> level */
.wpforms-form .wpforms-field-checkbox li,
.wpforms-form .wpforms-field-radio li {
  list-style: none !important;
}

/* ============================================================
   4. CHECKBOX / RADIO ROW ENHANCEMENTS
============================================================ */

/* Row layout
   - Aligns checkbox/radio + label cleanly
   - Adds subtle interaction affordance
*/
.wpforms-form .wpforms-field-checkbox li,
.wpforms-form .wpforms-field-radio li {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.45rem 0.6rem;
  border-radius: 10px;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

/* Hover state
   - Mouse users only
   - Subtle, non-distracting highlight
*/
.wpforms-form .wpforms-field-checkbox li:hover,
.wpforms-form .wpforms-field-radio li:hover {
  background: rgba(0,102,204,0.10);
}

/* Focus-within
   - Keyboard accessibility
   - Highlights entire row when checkbox/radio is focused
*/
.wpforms-form .wpforms-field-checkbox li:focus-within,
.wpforms-form .wpforms-field-radio li:focus-within {
  background: rgba(0,102,204,0.15);
  box-shadow: 0 0 0 2px rgba(0,102,204,0.35);
}

/* Checkbox / radio alignment
   - Removes browser default margins
   - Minor vertical correction for visual centering
*/
.wpforms-form input[type="checkbox"],
.wpforms-form input[type="radio"] {
  margin: 0;
  transform: translateY(1px);
}

/* ============================================================
   5. INPUT FIELD COLOR SOFTENING
============================================================ */

/* Text inputs, selects, textareas
   - White backgrounds were visually harsh
   - !important required because WPForms sets inline styles
*/
.wpforms-form input:not([type="checkbox"]):not([type="radio"]),
.wpforms-form textarea,
.wpforms-form select {
  background-color: #0066cc25 !important;
  border: 2px solid #0066cc !important;
  color: #ffffff;
}

/* Placeholder text
   - Maintains contrast without overpowering field content
*/
.wpforms-form ::placeholder {
  color: rgba(255,255,255,0.65);
}

/* Dark mode consistency
   - Explicitly restates values to prevent theme overrides
*/
html.gprs-dark .wpforms-form input:not([type="checkbox"]):not([type="radio"]),
html.gprs-dark .wpforms-form textarea,
html.gprs-dark .wpforms-form select {
  background-color: #0066cc25 !important;
  border-color: #0066cc !important;
  color: #ffffff;
}

/* ============================================================
   6. FOCUS-VISIBLE OUTLINE ENHANCEMENT
============================================================ */

.gprs-wpform :focus-visible {
  outline-offset: 2px;
}

/* ============================================================
   7. ADDITIONAL WPForms TEXT COLOR BASELINE (TEXT COLOR ONLY)
   Load: After 01-tokens.css
   Purpose: Form text colors for light/dark modes
   Note: No layout, no spacing, no visual redesign
============================================================ */

/* Light mode (default) */
.wpforms-form,
.wpforms-form label,
.wpforms-form legend,
.wpforms-form .wpforms-field-description,
.wpforms-form .wpforms-required-label {
  color: #000000;
}

/* Dark mode */
html.gprs-dark .wpforms-form,
html.gprs-dark .wpforms-form label,
html.gprs-dark .wpforms-form legend,
html.gprs-dark .wpforms-form .wpforms-field-description,
html.gprs-dark .wpforms-form .wpforms-required-label {
  color: #ffffff !important;
}