/* White contact blocks with restrained navy details; no decorative image. */
.contact-email-link { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; min-height: 44px; margin-top: 0; color: #294b63; font-size: 11px; overflow-wrap: anywhere; }
.contact-email-link svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.contact-email-link:hover { color: #1266ff; }
.wavee-footer-contact > .wavee-footer-email { overflow-wrap: anywhere; }

/* The navy top rule gives the compact writing surface a clear identity. */
.shared-contact .compact-contact-form, .contact-page-form > .compact-contact-form, .contact-dialog .compact-contact-form { min-width: 0; padding: 24px 26px; border: 1px solid #dbe4eb; border-top: 3px solid #123850; border-radius: 12px; background: #fff; color: #142b3d; box-shadow: 0 8px 28px #112e420a; }
.compact-contact-form .form-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 12px; margin-bottom: 15px; }
.compact-contact-form .form-origin-note { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 0 4px; width: fit-content; max-width: 100%; margin: 0; padding: 0; color: #536b79; font-size: 10px; line-height: 1.6; }
.compact-contact-form .form-required-note { margin: 0; font-size: 10px; line-height: 1.6; }
.compact-contact-form .form-origin-note::before { content: ''; width: 5px; height: 5px; margin-right: 4px; border-radius: 50%; background: #123850; }
.compact-contact-form .form-origin-note strong { color: #284e65; font-weight: 650; }
.compact-contact-form.institutional-form .form-panel-heading { margin-bottom: 22px; }
.compact-contact-form.institutional-form .form-panel-heading h2 { color: #142b3d; font-size: 26px; font-weight: 600; letter-spacing: -.045em; }
.compact-contact-form.institutional-form .form-panel-heading p { margin-top: 8px; color: #526a79; font-size: 11px; line-height: 1.75; }
.compact-contact-form.institutional-form .form-row { gap: 14px; }
.compact-contact-form.institutional-form .form-field { margin-bottom: 11px; }
.compact-contact-form.institutional-form label { margin-bottom: 5px; color: #294354; font-size: 11px; font-weight: 650; }
.compact-contact-form.institutional-form input, .compact-contact-form.institutional-form select, .compact-contact-form.institutional-form textarea { min-height: 44px; padding: 9px 12px; border: 1px solid #d7e1e5; border-radius: 6px; background: #f0f4f5; color: #142b3d; font-size: 14px; transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease; }
.compact-contact-form.institutional-form textarea { min-height: 72px; line-height: 1.5; }
.compact-contact-form.institutional-form input::placeholder, .compact-contact-form.institutional-form textarea::placeholder { color: #627885; opacity: 1; }
.compact-contact-form.institutional-form input:focus, .compact-contact-form.institutional-form select:focus, .compact-contact-form.institutional-form textarea:focus { border-color: #28618a; background: #fff; box-shadow: 0 0 0 3px #28618a1c; }
.compact-contact-form.institutional-form [aria-invalid='true'], .compact-contact-form.institutional-form [aria-invalid='true']:focus { border-color: #a14236; }
.compact-contact-form .field-help { margin-top: 4px; color: #526a79; font-size: 10px; line-height: 1.5; }
.compact-contact-form .form-optional-fields { margin-bottom: 12px; border-color: #d8e2e7; }
.compact-contact-form .form-optional-fields > summary { min-height: 38px; padding-block: 6px; color: #34576b; font-size: 11px; }
.compact-contact-form .form-action-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.compact-contact-form .form-action-row .form-submit { justify-content: space-between; min-height: 46px; padding: 7px 10px 7px 15px; border: 1px solid #123850; border-radius: 6px; background: #123850; color: #fff; font-size: 13px; font-weight: 600; }
.compact-contact-form .form-submit > svg { width: 28px; height: 28px; padding: 6px; border-radius: 4px; background: #ffab83; color: #163246; }
.compact-contact-form .form-action-row .form-submit:hover { border-color: #1d4d6a; background: #1d4d6a; }
.compact-contact-form.institutional-form .form-note { max-width: none; margin: 0; color: #526a79; font-size: 10px; line-height: 1.5; text-align: left; }
.compact-contact-form .whatsapp-review { padding: 18px; border-color: #cfdee5; border-radius: 8px; background: #edf4f6; }
.compact-contact-form .whatsapp-review > h3 { font-size: 21px; }

/* The dialog uses the same visual language and native keyboard behavior. */
.studio-dialog.contact-dialog { position: fixed; isolation: isolate; border: 1px solid #dbe4eb; border-radius: 17px; background: #fff; }
.contact-dialog .dialog-body { padding: 24px; }
.contact-dialog .dialog-body > .section-label { color: #34576b; }
.contact-dialog .dialog-body > h2 { max-width: 22ch; padding-right: 25px; color: #142b3d; font-size: 28px; }
.contact-dialog .dialog-description { max-width: 48ch; margin-block: 9px 15px; color: #526a79; font-size: 11px; }
.contact-dialog .dialog-close { z-index: 1; width: 36px; height: 36px; border: 1px solid #dbe4eb; background: #fff; color: #18394d; }
.contact-dialog .compact-contact-form { padding: 20px; box-shadow: none; }
@media (max-width: 760px) {
  .shared-contact .compact-contact-form, .contact-page-form > .compact-contact-form { padding: 18px; border-radius: 10px; }
  .compact-contact-form.institutional-form input, .compact-contact-form.institutional-form select, .compact-contact-form.institutional-form textarea { font-size: 16px; }
  .compact-contact-form.institutional-form .form-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .compact-contact-form.institutional-form .form-panel-heading h2 { font-size: 24px; }
  .compact-contact-form .form-meta { margin-bottom: 12px; gap: 4px 8px; }
  .compact-contact-form .form-optional-fields > summary { flex-wrap: wrap; }
  .contact-dialog .dialog-body { padding: 23px 14px 15px; }
  .contact-dialog .dialog-body > .section-label, .contact-dialog .dialog-body > h2, .contact-dialog .dialog-description { margin-left: 7px; }
  .contact-dialog .dialog-body > h2 { font-size: 25px; }
  .contact-dialog .compact-contact-form { padding: 17px; }
}
@media (max-width: 359px) {
  .compact-contact-form.institutional-form .form-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .shared-contact .compact-contact-form, .contact-page-form > .compact-contact-form { padding-inline: 16px; }
  .compact-contact-form .form-origin-note { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .compact-contact-form.institutional-form input, .compact-contact-form.institutional-form select, .compact-contact-form.institutional-form textarea { transition: none; }
}
