/* CF7's generated wrappers retain the reference form layout. */
.rrs-form[data-form-context="section"],
.rrs-form[data-form-context="section"] > .wpcf7 { display: grid; }
.rrs-form[hidden], .rrs-form .rrs-form-comment:where(.modal__field) { display: none; }
.rrs-form .wpcf7-form-control-wrap { display: block; }
.rrs-form .request-form__label, .rrs-form .modal__field-label { display: grid; gap: 6px; }
.rrs-form .modal__form > .modal__fields { display: grid; gap: 18px; }
.rrs-form .wpcf7-list-item { margin: 0; }
.rrs-form .consent .wpcf7-form-control-wrap { width: 100%; }
.rrs-form .consent .wpcf7-acceptance,
.rrs-form .consent .wpcf7-list-item { display: block; }
.rrs-form .consent .wpcf7-list-item > label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.rrs-form .request-form__input--area { display: block; }
/* CF7 puts the control inside its label: transfer the reference's two grid
   rows to that label, without leaving an extra empty row in the outer field. */
@media (min-width: 720px) {
  .rrs-form .request-form__field--wide { grid-template-rows: minmax(0, 1fr); }
  .rrs-form .request-form__field--wide > .request-form__label { grid-template-rows: auto minmax(0, 1fr); min-height: 0; }
  .rrs-form .request-form__field--wide .wpcf7-form-control-wrap { min-height: 0; }
}
.rrs-form .consent .wpcf7-list-item-label { display: contents; }
.rrs-form .consent .wpcf7-list-item-label::before,
.rrs-form .consent .wpcf7-list-item-label::after { content: none; }
.rrs-form .consent input:checked + .wpcf7-list-item-label .consent__box { background: var(--home-accent); border-color: var(--home-accent); }
.rrs-form .consent input:checked + .wpcf7-list-item-label .consent__box::after { opacity: 1; transform: rotate(45deg) scale(1); }
.rrs-form .consent input:focus-visible + .wpcf7-list-item-label .consent__box { outline: 2px solid var(--home-accent); outline-offset: 3px; }
.rrs-form .wpcf7-not-valid-tip { margin-top: 6px; color: var(--home-danger, #c0392b); font-size: 13px; }
.rrs-form .wpcf7-not-valid { border-color: var(--home-danger, #c0392b); }
.rrs-form .wpcf7-response-output { margin: 0; padding: 12px 16px; border: 1px solid currentColor; border-radius: 12px; font-size: 14px; }
.rrs-form form.init .wpcf7-response-output, .rrs-form form.resetting .wpcf7-response-output, .rrs-form form.submitting .wpcf7-response-output { display: none; }
.rrs-form .wpcf7-spinner { margin: 0; }
.rrs-form .rrs-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.rrs-form .wpcf7-submit:disabled { opacity: .5; cursor: not-allowed; }
.rrs-form .wpcf7-form.submitting .wpcf7-submit { pointer-events: none; opacity: .5; }
.rrs-form .modal__form .request-form__foot { justify-items: stretch; }

/* Keep the decorative glow inside product-page request cards at narrow widths. */
#request .request__panel[data-glow-cell]::after { inset: 0; }
