.public-contact .contact-info { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 28px; }
.public-contact .contact-card { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; align-items: start; min-width: 0; min-height: 150px; padding: 22px 20px; border: 1px solid #dce7ec; border-radius: 14px; background: #fff; box-shadow: 0 3px 12px rgb(16 53 75 / 3%); }
.public-contact .contact-card .icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0; border-radius: 12px; background: #edf6fa; }
.public-contact .contact-card .icon i { color: #157394; font-size: 18px; }
.public-contact .contact-details { display: block; height: auto; min-width: 0; font-size: 13px; line-height: 1.65; text-align: left; }
.public-contact .contact-details h4 { margin: 1px 0 10px; color: #173e50; font-size: 14px; font-weight: 600; line-height: 1.4; }
.public-contact .contact-details p { display: block; flex: none; margin: 0 0 8px; color: #536d7b; text-align: left; }
.public-contact .contact-details a { overflow-wrap: anywhere; color: #146f90; text-decoration: none; }
.public-contact .contact-details a:hover { color: #104f68; text-decoration: underline; text-underline-offset: 3px; }
.public-contact .contact-details a:focus-visible { outline: 3px solid #a8dbe9; outline-offset: 4px; border-radius: 3px; }
.public-contact .contact-details .contact-phone-lines { display: grid; justify-items: start; gap: 10px; margin: 0; }
.public-contact .contact-phone-lines > a { font-weight: 500; }
.public-contact .contact-phone-lines .contact-whatsapp { display: inline-flex; align-items: center; gap: 7px; padding: 4px 9px; border: 1px solid #d7e9e1; border-radius: 7px; background: #f2f8f5; color: #28634d; font-size: 12px; line-height: 1.5; }
.public-contact .contact-whatsapp i { font-size: 15px; }
.contact-form-modern { padding: 28px; border: 1px solid #dbe7ed; border-radius: 18px; box-shadow: 0 8px 28px rgb(16 53 75 / 5%); }
.contact-form-heading { margin-bottom: 24px; }
.contact-form-heading > span { color: #167594; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.contact-form-heading h3 { margin: 4px 0 6px; color: #173e50; text-align: left; font-size: 25px; }
.contact-form-heading p { margin: 0; font-size: 14px; color: #667c88; }
.contact-fields { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.contact-form-modern .form-group { min-width: 0; margin: 0; }
.contact-form-modern label { display: block; margin-bottom: 7px; color: #314d5b; font-size: 12px; font-weight: 600; line-height: 1.4; }
.contact-fields input, .contact-fields .motivo-trigger, .contact-message textarea { box-sizing: border-box; display: block; width: 100%; min-width: 0; margin: 0; border: 1px solid #cbdce5; border-radius: 9px; padding: 11px 12px; background: #fff; color: #203e4d; font: inherit; font-size: 13px; line-height: 1.45; }
.contact-fields input, .contact-fields .motivo-trigger { height: 44px; }
.contact-form-modern .contact-fields .motivo-trigger { display: flex; gap: 8px; height: 44px; padding: 11px 12px; border-color: #cbdce5; border-radius: 9px; }
.contact-form-modern .contact-fields .motivo-trigger__label, .contact-form-modern .contact-fields .motivo-trigger__placeholder { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.contact-form-modern .contact-fields .motivo-trigger__icon { width: 24px; height: 24px; font-size: 12px; }
.contact-form-modern .contact-fields .motivo-dropdown { min-width: min(320px, calc(100vw - 64px)); left: auto; right: 0; }
.contact-fields input::placeholder, .contact-message textarea::placeholder { color: #7e919c; opacity: 1; }
.contact-fields input:focus, .contact-fields .motivo-trigger:focus-visible, .contact-message textarea:focus { outline: none; border-color: #1684a5; box-shadow: 0 0 0 3px rgb(22 132 165 / 12%); }
.contact-message-input { position: relative; }
.contact-message textarea { min-height: 160px; padding-bottom: 66px; resize: vertical; }
.contact-message-input.is-listening textarea { border-color: #d68581; box-shadow: 0 0 0 3px rgb(197 73 65 / 8%); }
.contact-message-actions { position: absolute; inset: auto 14px 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; pointer-events: none; }
.contact-message-actions button { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 1px solid #d4e3ea; border-radius: 9px; background: #f7fafc; color: #497080; font: inherit; font-size: 13px; cursor: pointer; pointer-events: auto; }
.contact-message-actions button:hover:not(:disabled) { background: #eaf5fa; border-color: #83b8cb; }
.contact-message-actions button:focus-visible { outline: 3px solid #9ed8ea; outline-offset: 3px; }
.contact-message-actions button:disabled { opacity: .45; cursor: default; }
.contact-message-actions .contact-dictation { width: 44px; height: 44px; border-radius: 50%; background: #e8f5fa; border-color: #bddde9; color: #126b8a; font-size: 18px; box-shadow: 0 3px 8px rgb(22 107 138 / 8%); }
.contact-message-actions .contact-dictation:hover:not(:disabled) { background: #d6eef8; border-color: #6aa9bf; }
.contact-message-actions .contact-dictation.is-listening { background: #fff0ee; color: #b13931; border-color: #e5aaa5; box-shadow: 0 0 0 4px rgb(197 73 65 / 9%); }
.contact-control-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.contact-message-history { display: flex; flex-wrap: wrap; gap: 6px; }
.contact-message-tools { margin-top: 8px; }
.contact-message-tools:has(.contact-dictation-status:empty) { display: none; }
.contact-dictation-status { font-size: 12px; color: #5b7581; }
.contact-dictation-status:empty { display: none; }
.contact-help { margin: 9px 0 0; color: #718591; font-size: 11px; line-height: 1.6; }
.contact-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 22px; padding-top: 18px; border-top: 1px solid #e5edf1; }
.contact-form-footer > span { color: #718591; font-size: 12px; }
.contact-form-footer .btn { min-height: 42px; padding: 10px 18px; border-radius: 9px; background: #146f90; font-size: 13px; text-transform: none; }
@media (max-width: 999px) {
  .contact-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-fields .form-group:last-child { grid-column: 1 / -1; }
  .public-contact .contact-info { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .contact-form-modern { padding: 20px; }
  .contact-fields { grid-template-columns: 1fr; gap: 16px; }
  .contact-form-heading h3 { font-size: 23px; }
  .contact-form-footer { align-items: stretch; flex-direction: column; }
  .contact-form-footer .btn { justify-content: center; }
}

.contact-fields select{width:100%;height:44px;min-width:0;padding:11px 12px;border:1px solid #cbdce5;border-radius:9px;background:#fff;color:#203e4d;font:inherit;font-size:13px}
.contact-message-actions button[hidden]{display:none!important}
