#store-contact-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  box-sizing: border-box;
  width: min(560px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  padding: 28px;
  border: 1px solid #b450ff;
  border-radius: 20px;
  background: #101018;
  color: #fff;
  font-family: var(--font-primary);
  box-shadow: 0 0 32px #8a2be255;
}
#store-contact-dialog::backdrop { background: #000b; backdrop-filter: blur(6px); }
#store-contact-form { display: grid; gap: 14px; font-family: inherit; }
#store-contact-form button { font-family: inherit; }
#store-contact-title { padding-right: 24px; margin: 0 0 8px; font-size: 22px; }
#store-contact-close { position: absolute; top: 10px; right: 14px; width: 32px; height: 36px; min-height: 0; padding: 0; margin: 0; border: 0; background: transparent; color: #fff; font-size: 32px; line-height: 1; box-shadow: none; cursor: pointer; }
#store-contact-message { box-sizing: border-box; width: 100%; resize: vertical; min-height: 140px; padding: 12px; border: 1px solid #9985ac; border-radius: 10px; background: #08080e; color: #fff; font: inherit; font-size: 16px; }
#store-contact-count { text-align: right; font-size: 13px; }
#store-contact-form input:not([name="website"]) { box-sizing: border-box; width: 100%; min-width: 0; padding: 12px; border: 1px solid #9985ac; border-radius: 10px; background: #08080e; color: #fff; font: inherit; font-size: 16px; }
.store-contact-names { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.store-contact-names > div { display: grid; gap: 14px; min-width: 0; }
.store-contact-phone-row { display: grid; grid-template-columns: max-content minmax(0, 1fr); grid-template-rows: auto auto auto; gap: 14px; }
.store-contact-phone-row > div { display: grid; grid-row: span 3; grid-template-rows: subgrid; gap: 14px; min-width: 0; align-content: start; }
.store-contact-phone-row > div:first-child { width: calc(84px + var(--phone-code-width, 3ch)); }
#store-contact-phone-country { box-sizing: border-box; width: 100%; min-width: 0; padding: 12px; border: 1px solid #9985ac; border-radius: 10px; background: #08080e; color: #fff; font: inherit; font-size: 16px; color-scheme: dark; }
.store-contact-country-select { position: relative; min-width: 0; }
#store-contact-phone-flag { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 28px; height: 21px; object-fit: contain; pointer-events: none; border-radius: 2px; }
#store-contact-phone-country { padding-left: 48px; color: transparent; appearance: none; }
#store-contact-phone-country option { color: #fff; background: #08080e; }
#store-contact-phone-code { position: absolute; left: 48px; top: 50%; transform: translateY(-50%); color: #fff; font: inherit; font-size: 16px; pointer-events: none; }
.store-contact-country-select::after { content: ''; position: absolute; right: 16px; top: calc(50% - 5px); width: 7px; height: 7px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); pointer-events: none; }
.store-contact-phone-error { color: #ffb8c5; font: 14px/1.4 Arial, sans-serif; }
.store-contact-phone-error:empty { display: none; }
.store-contact-country-credit { margin: 0; font: 11px/1.4 Arial, sans-serif; }
.store-contact-country-credit a { color: #b9b1c5; }
#store-contact-phone[aria-invalid="true"] { border-color: #ff8ca4; }
@media (max-width: 480px) { .store-contact-phone-row { gap: 10px; } }
#store-contact-status { margin: 0; line-height: 1.5; }
#store-contact-dialog :focus-visible { outline: 2px solid #dfb6ff; outline-offset: 3px; }
#store-contact-open, #store-contact-form .contact-button { cursor: pointer; font-family: inherit; }
#store-contact-form .contact-button:disabled { opacity: .6; cursor: wait; }
#store-contact-form button[type="submit"] { justify-self: center; width: auto; max-width: 100%; }
.store-contact-trap { position: absolute; left: -10000px; }
html:has(#store-contact-dialog[open]) { overflow: hidden; }
.main-contact-action { margin: 24px 0; text-align: center; }
.main-contact-action .contact-button,
#store-contact-form .contact-button { padding: 14px 22px; background: #0a0a12; border: 1px solid #b450ff; border-radius: 999px; color: #fff; font-family: inherit; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 0 8px #b450ff99, 0 0 18px #b450ff66; }
@media (hover: hover) and (pointer: fine) {
  #store-contact-dialog, #store-contact-dialog::backdrop { cursor: none !important; }
  body #store-contact-dialog textarea, body #store-contact-dialog input { cursor: text !important; }
  body #store-contact-dialog select { cursor: pointer !important; }
  body:has(#store-contact-dialog select:hover) #cursor { opacity: 0 !important; visibility: hidden !important; transition: none; }
  body:has(#store-contact-dialog textarea:hover, #store-contact-dialog input:hover) #cursor {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: none;
  }
}

@media (hover: hover) and (pointer: fine) {
  body #store-contact-dialog label[for], body #store-contact-dialog label[for] * { cursor: none !important; }
  body:has(#store-contact-dialog label[for]:hover) #cursor {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

#store-contact-age-range { box-sizing:border-box; width:100%; min-width:0; padding:12px; border:1px solid #9985ac; border-radius:10px; background:#08080e; color:#fff; font:inherit; font-size:16px; }
