/* Contact modal — Bootstrap modal shell restyled to the Figma: 672px white panel, 56px padding, underlined fields, black button. */
.modal-backdrop { --bs-backdrop-bg: #191919; --bs-backdrop-opacity: .6; }
.modal.arc-contact { --bs-modal-width: 672px; --bs-modal-margin: 16px; --bs-modal-bg: #fff; --bs-modal-border-width: 0; --bs-modal-border-radius: 0; --bs-modal-box-shadow: none; }
.arc-contact__panel { position: relative; padding: 56px; overflow-y: auto; color: var(--arc-black); }

.arc-contact__close { position: absolute; top: 22px; right: 22px; padding: 1px 6px; border: 0; background: none; font-family: var(--arc-font-sans); font-size: 24px; line-height: 1; color: rgba(0, 0, 0, .5); cursor: pointer; transition: color .2s ease; }
.arc-contact__close:hover, .arc-contact__close:focus-visible { color: var(--arc-black); }

.arc-contact__eyebrow { margin: 0 0 16px; font-family: var(--arc-font-sans); font-size: 11px; line-height: 1.2; letter-spacing: .18em; text-transform: uppercase; color: rgba(0, 0, 0, .5); }
.arc-contact__title { margin: 0; font-family: var(--arc-font-serif); font-weight: 300; font-size: 38px; line-height: 1.15; color: var(--arc-black); }
.arc-contact__text { margin: 16px 0 32px; font-family: var(--arc-font-sans); font-size: 15px; line-height: 1.6; color: rgba(0, 0, 0, .68); }

/* Contact Form 7 markup (form template lives in wp-admin → Contact → "Contact modal"). */
.arc-contact .arc-form { display: flex; flex-direction: column; gap: 24px; margin: 0; padding-top: 32px; }
.arc-contact .arc-form > p { margin: 0; }
.arc-contact .arc-form__field { display: flex; flex-direction: column; gap: 8px; }
.arc-contact .arc-form__label { margin: 0; font-family: var(--arc-font-sans); font-size: 11px; line-height: 1.2; letter-spacing: .1em; text-transform: uppercase; color: rgba(0, 0, 0, .5); }
.arc-contact .wpcf7-form-control-wrap { display: block; }
.arc-contact .wpcf7-form-control:not(.wpcf7-submit) { display: block; width: 100%; height: 36px; padding: 0 0 8px; border: 0; border-bottom: 1px solid rgba(0, 0, 0, .25); border-radius: 0; background: none; box-shadow: none; -webkit-appearance: none; appearance: none; font-family: var(--arc-font-sans); font-size: 15px; line-height: 1.4; color: var(--arc-black); outline: 0; transition: border-color .2s ease; }
.arc-contact .arc-form textarea.wpcf7-form-control { height: 91px; padding-top: 4px; resize: vertical; }
.arc-contact .wpcf7-form-control:not(.wpcf7-submit):focus { border-bottom-color: var(--arc-black); }
.arc-contact .wpcf7-form-control.wpcf7-not-valid { border-bottom-color: var(--arc-black); }
.arc-contact .wpcf7-not-valid-tip { margin-top: 8px; font-family: var(--arc-font-sans); font-size: 11px; line-height: 1.3; letter-spacing: .08em; text-transform: uppercase; color: var(--arc-black); }

.arc-contact .arc-form__actions { display: flex; align-items: center; gap: 16px; padding-top: 8px; }
.arc-contact .wpcf7-submit { border: 1px solid var(--arc-black); }
.arc-contact .wpcf7-form.submitting .wpcf7-submit { opacity: .6; pointer-events: none; }
.arc-contact .wpcf7-spinner { width: 16px; height: 16px; margin: 0; background: var(--arc-black); }
.arc-contact .wpcf7-spinner::before { top: 2px; left: 2px; width: 4px; height: 4px; transform-origin: 6px 6px; }

.arc-contact .wpcf7-response-output { margin: 0 !important; padding: 0 !important; border: 0 !important; font-family: var(--arc-font-sans); font-size: 12px; line-height: 1.5; letter-spacing: .04em; color: rgba(0, 0, 0, .6); }
.arc-contact .wpcf7-form.sent .wpcf7-response-output { display: none; }

@media (max-width: 575.98px) {
  .arc-contact__panel { padding: 48px 24px 32px; }
  .arc-contact__title { font-size: 30px; }
  .arc-contact__close { top: 12px; right: 12px; }
}
