/* Wspólna prezentacja CF7; kontrolki i przyciski rozszerzają istniejący system. */
.c-contact-sections { background: var(--color-surface-page); }
.c-contact-section { padding-block: var(--space-7); scroll-margin-block-start: var(--space-7); }
.c-contact-section--muted { background: var(--color-surface-tint); }
.c-contact-section__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
.c-contact-section__intro { display: flex; flex-direction: column; gap: var(--space-5); min-inline-size: 0; }
.c-contact-section__form { min-inline-size: 0; }
.c-contact-form .hidden-fields-container { display: none; }
.c-contact-form { display: flex; flex-direction: column; gap: var(--space-6); }
.c-form__content { display: flex; flex-direction: column; gap: var(--space-5); }
.c-form__fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.c-form__field { display: flex; flex-direction: column; gap: var(--space-2); min-inline-size: 0; }
.c-form__field--full { grid-column: 1 / -1; }
.c-form__required { color: var(--color-required); }
.c-field--contact { display: block; padding: var(--space-4) var(--space-3); border-color: var(--color-border-subtle); }
.c-field--contact::placeholder { color: var(--color-placeholder); opacity: 1; }
textarea.c-field--contact { resize: vertical; }
select.c-field--contact { appearance: none; padding-inline-end: calc(var(--space-3) + var(--space-4) + var(--space-3)); background-image: url('../../images/icon-caret-down.svg'); background-repeat: no-repeat; background-position: right var(--space-3) center; background-size: var(--space-4) var(--space-4); }
select.c-field--contact:has(option[value=""]:checked) { color: var(--color-placeholder); }
select.c-field--contact option { color: var(--color-text); }
.c-form__consents { display: flex; flex-direction: column; gap: var(--space-3); }
.c-form__acceptance .wpcf7-list-item { display: block; margin: 0; }
.c-form__acceptance label { display: flex; align-items: flex-start; gap: var(--space-2); cursor: pointer; }
.c-form__acceptance input[type="checkbox"] { flex: none; inline-size: var(--space-4); block-size: var(--space-4); margin: 0; accent-color: var(--color-action); }
.c-form__actions { display: flex; justify-content: flex-end; align-items: center; gap: var(--space-4); }
.c-contact-form [aria-invalid="true"] { border-color: var(--color-error); }
.c-contact-form .wpcf7-not-valid-tip { display: block; margin-block-start: var(--space-2); color: var(--color-error); }
.c-contact-form .wpcf7-response-output { padding: var(--space-4); border: var(--border-width-sm) solid var(--color-border); border-radius: var(--radius-sm); }
.c-contact-form .wpcf7-response-output:empty { display: none; }
.c-contact-form.invalid .wpcf7-response-output, .c-contact-form.unaccepted .wpcf7-response-output, .c-contact-form.failed .wpcf7-response-output, .c-contact-form.spam .wpcf7-response-output { border-color: var(--color-error); }
.c-contact-form .wpcf7-spinner { display: none; inline-size: var(--space-5); block-size: var(--space-5); flex: none; border: var(--border-width-sm) solid var(--color-border); border-block-start-color: var(--color-text); border-radius: var(--radius-full); }
.c-contact-form.submitting .wpcf7-spinner { display: inline-block; animation: memoria-form-spin 1s linear infinite; }
@keyframes memoria-form-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .c-contact-form.submitting .wpcf7-spinner { animation: none; } }
@media (min-width: 48rem) { .c-form__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 70rem) {
  .c-contact-section { padding-block: var(--space-8); }
  .c-contact-section + .c-contact-section { padding-block-start: calc(var(--space-8) + var(--space-4)); }
  .c-contact-section__layout { grid-template-columns: minmax(0, 389fr) minmax(0, 694fr); column-gap: clamp(var(--space-7), 8.286vw, 7.25rem); }
  .c-contact-section__intro { gap: var(--space-6); }
}
