/* The Contact page's General inquiries form (ppcadi-contact.php), as in site/design/contact.html. */
.pp-contact-form { border: 1px solid #EFE4E2; border-radius: 16px; padding: 32px; display: flex; flex-direction: column; gap: 18px; box-sizing: border-box; scroll-margin-top: 24px; }
.pp-contact-form h2 { margin: 0; font-size: 28px; font-weight: 700; }
.pp-contact-form p { margin: 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pp-contact-form label { font-weight: 700; }
.pp-contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.pp-contact-form input[type=text], .pp-contact-form input[type=email], .pp-contact-form input[type=tel], .pp-contact-form textarea {
  font: inherit; padding: 12px 14px; border: 1px solid #CDBFBC; border-radius: 14px; min-width: 0; width: 100%; box-sizing: border-box; background: #FFFFFF; color: #1F1F1F;
}
.pp-contact-form textarea { resize: vertical; }
.pp-contact-form input:focus, .pp-contact-form textarea:focus { outline: 2px solid #B84A40; outline-offset: 1px; border-color: #B84A40; }
.pp-contact-form fieldset { border: 0; margin: 0; padding: 0; }
.pp-contact-form legend { font-weight: 700; padding: 0 0 8px; }
.pp-contact-topics { display: flex; flex-wrap: wrap; gap: 8px; }
.pp-contact-topics label { display: flex; align-items: center; gap: 8px; background: #F7F1F0; border-radius: 999px; padding: 10px 16px; font-size: 16px; font-weight: 600; cursor: pointer; }
.pp-contact-topics input { accent-color: #B84A40; margin: 0; }
.pp-contact-submit { align-self: flex-start; font: inherit; font-weight: 800; background: #B84A40; color: #FFFFFF; border: 0; padding: 14px 28px; border-radius: 999px; min-height: 48px; cursor: pointer; }
.pp-contact-submit:hover { background: #8F3830; color: #FFFFFF; }
.pp-contact-errors { background: #FBE3E0; border-left: 4px solid #B84A40; border-radius: 8px; padding: 12px 20px; }
.pp-contact-errors ul { margin: 0; }
.pp-contact-sent { background: #EAF8F6; border-color: #EAF8F6; }
.pp-contact-sent p { display: block; }
.pp-contact-form .pp-hp { position: absolute; left: -9999px; }
@media (max-width: 640px) { .pp-contact-form { padding: 20px; } }
