/* Contact body (TODO 00001.5.16). 8 + 4 from 992: the form left (section 8 fields, two per row from 600, primary
   Send message), the details right on a mist panel with a line edge. Success and error use the section 8 notice. */
.p-contact-body { box-sizing: border-box; padding: var(--wp--preset--spacing--110) var(--wp--custom--gutter--desktop); }
.p-contact-body *, .p-contact-body *::before, .p-contact-body *::after { box-sizing: border-box; }
.p-contact-body__inner {
  max-width: var(--wp--custom--layout--wide); margin-inline: auto;
  display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--wp--preset--spacing--100);
  align-items: start;
}
.p-contact-body__main { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--60); scroll-margin-top: 140px; }
.p-contact-body .p-contact-body__title, .p-contact-body .p-contact-body__aside-title {
  margin: 0; color: var(--wp--preset--color--navy); font-size: var(--wp--preset--font-size--h-3); font-weight: var(--wp--custom--font-weight--h-3); line-height: 1.25;
}
.p-contact-body__note { margin: calc(-1 * var(--wp--preset--spacing--40)) 0 0; color: var(--wp--preset--color--slate); font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.p-contact-form { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--60); }
.p-contact-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--60); }
.p-contact-form__hp { display: none; }
.p-contact-form__actions { padding-top: var(--wp--preset--spacing--30); }
.p-contact-body__aside {
  padding: var(--wp--preset--spacing--70); background: var(--wp--preset--color--mist);
  border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--default);
}
.p-contact-body__facts { margin: var(--wp--preset--spacing--60) 0 0; padding: 0; list-style: none; }
.p-contact-body__facts li {
  display: flex; gap: var(--wp--preset--spacing--50); padding: var(--wp--preset--spacing--50) 0;
  border-top: 1px solid var(--wp--preset--color--line);
}
.p-contact-body__facts .p-icon { flex: none; margin-top: 2px; color: var(--wp--preset--color--navy); }
.p-contact-body__facts p { margin: 0; color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--body); line-height: 1.6; }
.p-contact-body .p-contact-body__label {
  color: var(--wp--preset--color--slate); font-size: var(--wp--preset--font-size--label); font-weight: var(--wp--custom--font-weight--label);
  letter-spacing: var(--wp--custom--letter-spacing--label); line-height: 1.3; text-transform: uppercase; margin-bottom: var(--wp--preset--spacing--20);
}
.p-contact-body__facts a { color: var(--wp--preset--color--navy); font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.p-contact-body__facts a:focus-visible { outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--navy); outline-offset: var(--wp--custom--focus--offset); }
.p-contact-body__testmode {
  display: flex; gap: var(--wp--preset--spacing--30); margin: var(--wp--preset--spacing--30) 0 0; padding-top: var(--wp--preset--spacing--50);
  border-top: 1px solid var(--wp--preset--color--line);
  color: var(--wp--preset--color--slate); font-size: var(--wp--preset--font-size--small); line-height: 1.5;
}
.p-contact-body__testmode .p-icon { flex: none; margin-top: 3px; color: var(--wp--preset--color--navy); }
@media (hover: hover) and (pointer: fine) { .p-contact-body__facts a:hover { text-decoration-thickness: 2px; } }
@media (max-width: 991.98px) {
  .p-contact-body { padding: var(--wp--preset--spacing--100) var(--wp--custom--gutter--tablet); }
  .p-contact-body__inner { grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--90); }
}
@media (max-width: 599.98px) {
  .p-contact-body { padding: var(--wp--preset--spacing--90) var(--wp--custom--gutter--phone); }
  .p-contact-form__row { grid-template-columns: minmax(0, 1fr); }
  .p-contact-form__actions .p-btn { width: 100%; }
  .p-contact-body__aside { padding: var(--wp--preset--spacing--60); }
  .p-contact-body__inner { gap: var(--wp--preset--spacing--80); }
}
