.floating-contact {
  position: fixed;
  right: 22px;
  bottom: max(20px, env(safe-area-inset-bottom));
  z-index: 50;
  display: flex;
  gap: 10px;
  filter: drop-shadow(0 4px 10px #082e5233);
}
.floating-contact a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 11px 18px;
  border: 1px solid #ffffff60;
  border-radius: 28px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.floating-whatsapp, .contact-whatsapp { background: #116c49; color: white; }
.floating-email { background: #083866; color: white; }
.floating-contact svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.floating-contact a:hover { transform: translateY(-2px); color: white; }
body.modal-open .floating-contact { visibility: hidden; }
.contact-options { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 12px; max-width: 480px; }
.contact-email { background: white; color: #083866; border: 1px solid #b6c7d4; }
.contact-options .text-link { flex-basis: 100%; text-align: right; font-size: 13px; }
.email-action { margin-top: 12px; background: white; color: #083866; border: 1px solid #becbd5; }
.copy-action { display: block; background: none; border: 0; padding: 12px; margin: 8px auto 0; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.channel-note { font-size: 12px; line-height: 1.65; margin-top: 14px; overflow-wrap: anywhere; color: #4b6478; }
.channel-note a { text-decoration: underline; }
.quote-message-details { margin-top: 18px; font-size: 12px; }
.quote-message-details summary { cursor: pointer; padding: 10px 0; }
.quote-message-details pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; padding: 15px; max-height: 220px; overflow-y: auto; background: #edf2f5; border-radius: 8px; }
.site-footer { padding-bottom: 100px; }
@media (max-width: 600px) {
  .floating-contact { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); gap: 7px; }
  .floating-contact a { min-height: 46px; padding: 10px 15px; font-size: 12px; }
  .floating-email > span:first-child { font-size: 19px; }
  .contact-options { justify-content: flex-start; gap: 10px; }
  .contact-options .text-link { text-align: left; }
}
@media print { .floating-contact { display: none; } }
.legal-footer { padding-bottom: 100px; }
