.sh-product-contact-button {
  margin-left: 10px !important;
  background: #555 !important;
  color: #fff !important;
  border: 0 !important;
}
.sh-product-contact-button:hover { background: #333 !important; color: #fff !important; }
.sh-product-contact-button.sh-contact-standalone { margin: 10px 0 15px 0 !important; }

.sh-contact-modal { display:none; position:fixed; inset:0; z-index:999999; }
.sh-contact-modal.is-open { display:block; }
.sh-contact-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.62); }
.sh-contact-dialog {
  position:relative; width:min(620px, calc(100% - 30px)); max-height:90vh; overflow:auto;
  margin:5vh auto; background:#fff; padding:28px; box-shadow:0 18px 60px rgba(0,0,0,.28);
}
.sh-contact-dialog h2 { margin:0 35px 8px 0; }
.sh-contact-product { margin:0 0 20px; }
.sh-contact-close { position:absolute; top:10px; right:14px; border:0; background:transparent; font-size:32px; line-height:1; cursor:pointer; }
.sh-contact-dialog label { display:block; font-weight:600; margin-bottom:14px; }
.sh-contact-dialog label span { color:#b00020; }
.sh-contact-dialog input, .sh-contact-dialog textarea {
  display:block; width:100%; margin-top:6px; box-sizing:border-box; padding:10px 12px; border:1px solid #ccc; background:#fff;
}
.sh-contact-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sh-contact-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.sh-contact-status { font-size:.95em; }
.sh-contact-status.is-success { font-weight:600; }
.sh-contact-status.is-error { color:#b00020; font-weight:600; }
.sh-contact-hp { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
body.sh-contact-open { overflow:hidden; }

@media (max-width: 640px) {
  .sh-contact-row { grid-template-columns:1fr; gap:0; }
  .sh-product-contact-button { margin-left:0 !important; margin-top:10px !important; }
  .sh-contact-dialog { padding:22px 18px; margin:3vh auto; }
}
