.contact-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 32px;
  box-sizing: border-box;
  width: 100%;
  max-width: 640px;
  margin: 20px 0;
  padding: 24px;
  border: 1px solid #dce2e8;
  border-radius: 6px;
  background: #f5f7f9;
  text-align: left;
}
.contact-details-copy { min-width: 0; }
.contact-details .contact-company-name { margin: 0 0 10px; color: #243247; font-size: 16px; font-weight: 600; line-height: 1.6; }
.contact-details .contact-address { margin: 0; color: #596575; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.contact-qr { display: flex; flex-direction: column; align-items: center; gap: 8px; width: max-content; max-width: 100%; margin: 0; }
.contact-qr-image { display: block; padding: 8px; border: 1px solid #dce2e8; border-radius: 4px; background: #fff; }
.contact-qr-image:focus-visible { outline: 2px solid #205b92; outline-offset: 4px; }
.contact-qr-code { display: block; width: 128px; height: 128px; }
.contact-qr-code img { display: block; width: 100%; max-width: none; height: 100%; object-fit: contain; }
.contact-qr-title { display: block; color: #596575; font-size: 13px; font-weight: 400; line-height: 1.5; }
.contact-box .contact-details { margin-left: auto; margin-right: auto; }
.theme-dark .contact-details { background: #242734; border-color: #3d4254; }
.theme-dark .contact-details .contact-company-name { color: #e6edf3; }
.theme-dark .contact-details .contact-address,
.theme-dark .contact-qr-title { color: #b8c7d7; }
@media (max-width: 480px) {
  .contact-details { gap: 20px; padding: 20px; grid-template-columns: minmax(0, 1fr); }
  .contact-details .contact-company-name { font-size: 15px; margin-bottom: 8px; }
  .contact-qr-code { width: 120px; height: 120px; }
}
