.nailink-contact { --nc-ink:#292723; --nc-paper:#faf8f3; --nc-rose:#a95769; color:var(--nc-ink); font-family:Inter,Arial,sans-serif; font-size:14px; }
.nailink-contact [hidden] { display:none!important; }
.nailink-contact-launcher { position:fixed; z-index:110; right:22px; bottom:22px; display:flex; align-items:center; gap:9px; min-height:46px; padding:0 19px; border:1px solid #d8d2c9; border-radius:28px; background:#faf8f3; color:#292723; font:500 13px Inter,Arial,sans-serif; box-shadow:0 3px 16px #29272312; cursor:pointer; }
body:has(.catalogue-contact-link[data-nailink-contact-open]) .nailink-contact-launcher { display:none; }
.nailink-contact-launcher svg { width:18px; height:18px; }
body:has([data-shopping-bag]) .nailink-contact-launcher,
body:has([aria-modal="true"]:not(.nailink-contact-dialog)) .nailink-contact-launcher,
body:has(dialog[open]) .nailink-contact-launcher { visibility:hidden; }
.nailink-contact-dialog { position:fixed; inset:auto 22px 22px auto; margin:0; padding:0; width:390px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 44px); border:1px solid #ddd7ce; border-radius:12px; background:var(--nc-paper); color:var(--nc-ink); overflow:auto; box-shadow:0 12px 48px #29272324; }
.nailink-contact-dialog::backdrop { background:#29272324; }
.nailink-contact-body { padding:26px; }
.nailink-contact-header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:8px; }
.nailink-contact h2 { margin:0; font:400 35px/1.1 "Cormorant Garamond",Georgia,serif; letter-spacing:-.025em; }
.nailink-contact-close { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:0; background:transparent; color:inherit; font:26px/1 Arial,sans-serif; cursor:pointer; }
.nailink-contact-intro { margin:0 0 20px; color:#726c66; font-size:13px; line-height:1.6; }
.nailink-contact label { display:block; margin-bottom:6px; font-size:12px; font-weight:500; line-height:1.4; }
.nailink-contact label span { color:#726c66; font-weight:400; }
.nailink-contact-field { margin-bottom:14px; }
.nailink-contact input,.nailink-contact textarea,.nailink-contact select { box-sizing:border-box; width:100%; min-height:44px; padding:10px 11px; border:1px solid #d8d2c9; border-radius:4px; background:#fffefa; color:var(--nc-ink); font:400 16px/1.4 Inter,Arial,sans-serif; }
.nailink-contact textarea { display:block; resize:vertical; min-height:104px; max-height:240px; }
.nailink-contact-optional { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.nailink-contact-submit { width:100%; min-height:44px; border:1px solid var(--nc-ink); border-radius:4px; background:var(--nc-ink); color:#faf8f3; font:500 13px Inter,Arial,sans-serif; cursor:pointer; }
.nailink-contact-submit:disabled { opacity:.65; cursor:wait; }
.nailink-contact-status { margin:12px 0 0; font-size:13px; line-height:1.5; color:#765446; }
.nailink-contact-privacy { margin:10px 0 18px; font-size:11px; line-height:1.55; color:#726c66; }
.nailink-contact a { color:inherit; text-underline-offset:4px; }
.nailink-contact-direct { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-top:16px; border-top:1px solid #ddd7ce; font-size:12px; }
.nailink-contact-direct a { display:inline-flex; align-items:center; min-height:44px; gap:7px; }
.nailink-contact-address { margin:8px 0 0; color:#726c66; font-size:11px; }
.nailink-contact-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.nailink-contact :focus-visible,.nailink-contact-launcher:focus-visible { outline:2px solid #a95769; outline-offset:3px; }
@media(max-width:640px) {
  .nailink-contact-launcher { right:14px; bottom:calc(14px + env(safe-area-inset-bottom)); min-height:44px; padding:0 15px; }
  body:has(.product-detail-quick-links [data-nailink-contact-open]) .nailink-contact-launcher { display:none; }
  .nailink-contact-dialog { inset:auto 12px calc(12px + env(safe-area-inset-bottom)) 12px; width:auto; max-width:none; max-height:calc(100dvh - 24px - env(safe-area-inset-bottom)); }
  .nailink-contact-body { padding:22px; }
}
