/* Shared by the company and collection/product public sites. */
.sp-contact-dialog {
  box-sizing: border-box; width: min(540px, calc(100vw - 32px)); max-height: calc(100dvh - 32px);
  margin: auto; padding: 42px; overflow: auto; color-scheme: dark;
  border: 1px solid #655c91; border-radius: 18px; color: #f2f5ff;
  background: radial-gradient(ellipse at top right, #302b51 0, transparent 65%), #131e32;
  box-shadow: 0 28px 100px #0009; font: 16px/1.65 "Segoe UI", Arial, sans-serif;
}
.sp-contact-dialog::backdrop { background: #020817d9; backdrop-filter: blur(5px); }
.sp-contact-dialog *, .sp-contact-dialog *::before, .sp-contact-dialog *::after { box-sizing: border-box; }
.sp-contact-dialog p, .sp-contact-dialog h2 { margin: 0; }
.sp-contact-dialog button, .sp-contact-dialog a { font: inherit; cursor: pointer; }
.sp-contact-dialog button:focus-visible, .sp-contact-dialog a:focus-visible { outline: 3px solid #c7b9ff; outline-offset: 4px; }
.sp-contact-close { display: block; margin: -20px -18px 22px auto; padding: 8px 12px; color: #c6d0e6; background: transparent; border: 1px solid #46516c; border-radius: 6px; font-size: 13px !important; }
.sp-contact-dialog .sp-contact-eyebrow { color: #c0b2ff; font-size: 11px; font-weight: 650; letter-spacing: 1.5px; margin-bottom: 14px; }
.sp-contact-dialog .sp-contact-title { font-size: 31px; line-height: 1.2; font-weight: 600; letter-spacing: -.8px; margin-bottom: 18px; }
.sp-contact-description { color: #bcc9e0; }
.sp-contact-dialog .sp-contact-address { margin: 24px 0; padding: 15px 18px; border: 1px solid #3c4a68; background: #0b1426; border-radius: 8px; color: #ddd6ff; font-size: 20px; overflow-wrap: anywhere; user-select: all; }
.sp-contact-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.sp-contact-primary, .sp-contact-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 16px; border-radius: 7px; font-size: 14px !important; font-weight: 600 !important; text-decoration: none; border: 1px solid #b8a8ff; }
.sp-contact-primary { background: #b8a8ff; color: #10152a; }
.sp-contact-primary:hover { background: #d0c5ff; }
.sp-contact-secondary { background: transparent; color: #e7e3ff; border-color: #657393; }
.sp-contact-secondary:hover, .sp-contact-close:hover { background: #2d3652; }
.sp-contact-dialog .sp-contact-status { min-height: 24px; margin-top: 13px; font-size: 13px; color: #d2c7ff; }
.sp-contact-dialog .sp-contact-note { padding-top: 18px; margin-top: 9px; border-top: 1px solid #37425e; color: #b5c1d9; font-size: 12px; }
@media (max-width: 480px) {
  .sp-contact-dialog { padding: 29px 24px; border-radius: 12px; }
  .sp-contact-close { margin: -9px -4px 22px auto; }
  .sp-contact-dialog .sp-contact-title { font-size: 28px; }
  .sp-contact-dialog .sp-contact-address { font-size: 18px; padding: 14px; }
  .sp-contact-actions { flex-direction: column; }
}
@media (forced-colors: active) { .sp-contact-dialog { border: 2px solid CanvasText; } }
