/* Extracted from page-enquiry.php so it is cached once instead of being re-sent
   inside the HTML on every page view. Enqueued by
   lumoria_enqueue_template_styles() in functions.php. */

    #lumReqSec, #lumReqSec * { box-sizing: border-box; }
    #lumReqSec {
      --lum-gold: #44BDA1;
      --lum-gold-dark: #04272F;
      --lum-ink: #1D1235;
      --lum-sub: var(--text-muted);
      --lum-line: rgba(4,39,47,.14);
      --lum-danger: #d9534f;
      --field-radius: 999px;
      font-family: var(--font-primary);
      display: flex;
      justify-content: center;
      padding: clamp(36px, 5vw, 64px) clamp(16px, 4vw, 24px) clamp(48px, 6vw, 80px);
    }

    #lumReqSec .lum-req-card {
      width: 100%;
      max-width: 1040px;
      background: #fff;
      border: 1px solid var(--lum-line);
      border-radius: 22px;
      padding: clamp(30px, 4vw, 40px) clamp(24px, 4vw, 48px) clamp(32px, 4vw, 44px);
      box-shadow: 0 20px 50px -30px rgba(29,18,53,.28);
    }

    #lumReqSec .lum-req-title {
      font-size: var(--text-h3);
      font-weight: var(--fw-heading);
      line-height: var(--lh-heading);
      letter-spacing: var(--ls-h2);
      color: var(--lum-ink);
      margin: 0 0 10px;
    }
    #lumReqSec .lum-req-sub {
      font-size: var(--text-sm);
      line-height: var(--lh-prose);
      color: var(--lum-sub);
      max-width: 640px;
      margin: 0 0 30px;
    }

    #lumReqSec .lum-req-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px 24px;
      margin-bottom: 20px;
    }

    #lumReqSec .lum-req-field { display: flex; flex-direction: column; min-width: 0; }
    #lumReqSec .lum-req-field.lum-req-full { grid-column: 1 / -1; }

    #lumReqSec .lum-req-field > label {
      font-size: 13.5px;
      font-weight: var(--fw-semibold);
      color: var(--lum-ink);
      margin-bottom: 8px;
    }
    #lumReqSec .lum-req-req { color: var(--lum-danger); margin-inline-start: 2px; }

    #lumReqSec .lum-req-field input[type="text"],
    #lumReqSec .lum-req-field input[type="tel"],
    #lumReqSec .lum-req-field input[type="email"],
    #lumReqSec .lum-req-field input[type="number"],
    #lumReqSec .lum-req-field input[type="date"] {
      height: 50px;
      width: 100%;
      padding: 0 20px;
      border: 1px solid var(--lum-line);
      border-radius: var(--field-radius);
      background: #fff;
      font-family: inherit;
      font-size: 14.5px;
      color: var(--lum-ink);
      transition: border-color .2s ease, box-shadow .2s ease;
    }
    #lumReqSec .lum-req-field textarea {
      width: 100%;
      min-height: 110px;
      padding: 16px 20px;
      border: 1px solid var(--lum-line);
      border-radius: 22px;
      background: #fff;
      font-family: inherit;
      font-size: 14.5px;
      color: var(--lum-ink);
      resize: vertical;
      transition: border-color .2s ease, box-shadow .2s ease;
    }
    #lumReqSec .lum-req-field input::placeholder,
    #lumReqSec .lum-req-field textarea::placeholder { color: rgba(4,39,47,.42); }

    #lumReqSec .lum-req-field input:focus,
    #lumReqSec .lum-req-field textarea:focus,
    #lumReqSec .lum-req-select select:focus {
      outline: none;
      border-color: var(--lum-gold);
      box-shadow: 0 0 0 3px rgba(68,189,161,.18);
    }

    #lumReqSec .lum-req-select { position: relative; }
    #lumReqSec .lum-req-select select {
      appearance: none;
      -webkit-appearance: none;
      height: 50px;
      width: 100%;
      padding-inline: 20px 44px;
      border: 1px solid var(--lum-line);
      border-radius: var(--field-radius);
      background: #fff;
      font-family: inherit;
      font-size: 14.5px;
      color: var(--lum-ink);
      cursor: pointer;
      transition: border-color .2s ease, box-shadow .2s ease;
    }
    #lumReqSec .lum-req-select svg {
      position: absolute;
      inset-inline-end: 18px;
      top: 50%;
      transform: translateY(-50%);
      pointer-events: none;
      color: var(--lum-sub);
    }

    #lumReqSec .lum-req-field.is-invalid input,
    #lumReqSec .lum-req-field.is-invalid textarea,
    #lumReqSec .lum-req-field.is-invalid .lum-req-select select,
    #lumReqSec .lum-req-field.is-invalid .lum-req-consent-box { border-color: var(--lum-danger); }

    #lumReqSec .lum-req-error {
      display: none;
      margin-top: 6px;
      font-size: var(--text-xs);
      color: var(--lum-danger);
    }
    #lumReqSec .lum-req-field.is-invalid .lum-req-error { display: block; }

    /* ---------------- CONSENT ---------------- */
    #lumReqSec .lum-req-consent {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 22px;
      cursor: pointer;
    }
    #lumReqSec .lum-req-consent input {
      position: absolute;
      width: 22px;
      height: 22px;
      margin: 0;
      opacity: 0;
      cursor: pointer;
    }
    #lumReqSec .lum-req-consent-box {
      position: relative;
      width: 21px;
      height: 21px;
      flex-shrink: 0;
      border: 1.5px solid var(--lum-gold);
      border-radius: 50%;
      transition: border-color .2s ease;
    }
    #lumReqSec .lum-req-consent-box::after {
      content: "";
      position: absolute;
      inset: 5px;
      border-radius: 50%;
      background: var(--lum-gold);
      transform: scale(0);
      transition: transform .18s ease;
    }
    #lumReqSec .lum-req-consent input:checked ~ .lum-req-consent-box::after { transform: scale(1); }
    #lumReqSec .lum-req-consent input:focus-visible ~ .lum-req-consent-box {
      outline: 2px solid var(--lum-gold);
      outline-offset: 2px;
    }
    #lumReqSec .lum-req-consent-text {
      font-size: 13.5px;
      line-height: 1.55;
      color: var(--lum-sub);
    }

    /* ---------------- SUBMIT ---------------- */
    #lumReqSec .lum-req-submit {
      width: 100%;
      height: 58px;
      border: none;
      border-radius: 999px;
      background: var(--lum-gold);
      color: #fff;
      font-family: inherit;
      font-size: 15.5px;
      font-weight: var(--fw-semibold);
      cursor: pointer;
      box-shadow: 0 14px 30px -14px rgba(68,189,161,.7);
      transition: background .25s ease, transform .15s ease, box-shadow .25s ease;
    }
    #lumReqSec .lum-req-submit:hover { background: var(--lum-gold-dark); }
    #lumReqSec .lum-req-submit:active { transform: translateY(1px); }
    #lumReqSec .lum-req-submit:disabled { opacity: .65; cursor: not-allowed; transform: none; }

    #lumReqSec .lum-req-note {
      margin: 16px 0 0;
      text-align: center;
      font-size: var(--text-xs);
      color: var(--lum-sub);
    }
    #lumReqSec .lum-req-status {
      display: none;
      margin-top: 14px;
      font-size: var(--text-sm);
      font-weight: var(--fw-semibold);
      text-align: center;
    }
    #lumReqSec .lum-req-status.is-shown { display: block; }
    #lumReqSec .lum-req-status.is-success { color: var(--lum-gold-dark); }
    #lumReqSec .lum-req-status.is-error { color: var(--lum-danger); }

    @media (max-width: 780px) {
      #lumReqSec .lum-req-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
      #lumReqSec .lum-req-card { border-radius: 18px; }
    }
    @media (max-width: 420px) {
      #lumReqSec .lum-req-field input,
      #lumReqSec .lum-req-select select { height: 46px; padding-inline-start: 16px; }
      #lumReqSec .lum-req-submit { height: 52px; font-size: 14.5px; }
    }
  
