.prayer-request-section {
    background-color: var(--gsw-espresso, #2b1d16);
    color: var(--cream, #f5ede1);
  }

  .prayer-eyebrow {
    font-family: 'DM Sans', sans-serif;
    letter-spacing: 0.15em;
    font-size: 0.85rem;
    color: var(--gold, #c9a24b);
  }

  .prayer-heading {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 600;
    font-size: 2.25rem;
    color: var(--cream, #f5ede1);
  }

  .prayer-subtext {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.98rem;
    opacity: 0.85;
  }

  .prayer-label {
    font-family: 'DM Sans', sans-serif;
    font-weight: 500;
    color: var(--cream);
  }

  .required-asterisk {
    color: var(--gsw-gold, #c9a24b);
  }

  .optional-label {
    font-weight: 400;
    opacity: 0.6;
    font-size: 0.85rem;
  }

  .prayer-input,
  .prayer-textarea {
    background-color: rgba(245, 237, 225, 0.06);
    border: 1px solid rgba(201, 162, 75, 0.35);
    color: var(--gsw-cream, #f5ede1);
    font-family: 'DM Sans', sans-serif;
  }

  .prayer-input:focus,
  .prayer-textarea:focus {
    background-color: rgba(245, 237, 225, 0.1);
    border-color: var(--gsw-gold, #c9a24b);
    box-shadow: 0 0 0 0.2rem rgba(201, 162, 75, 0.25);
    color: var(--gsw-cream, #f5ede1);
  }

  .prayer-help-text {
    font-size: 0.85rem;
    opacity: 0.7;
  }

  .prayer-form-status {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.9rem;
  }

  /* Honeypot: visually hidden but present for screen readers to skip via
     tabindex + aria-hidden. Do NOT use display:none, since some spam bots
     specifically skip display:none fields expecting this trick. */
  .honeypot-field {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }