.shnvl-button { display:inline-flex; align-items:center; gap:.4em; margin-top:12px; padding:8px 14px; border:1px solid #fc2a20; border-radius:4px; background:#fff; color:#c9231b; font-family:inherit; font-size:14px; font-weight:600; line-height:1.3; cursor:pointer; }
.shnvl-button:hover,.shnvl-button:focus-visible { background:#fc2a20; color:#fff; }
.shnvl-count { font-weight:700; }
.shn-single-share .shn-single-like { margin-left:auto; flex-shrink:0; }
.shn-single-share .shn-single-like .shnvl-button { margin-top:0; }
.shnvl-modal[hidden] { display:none!important; }
.shnvl-modal { position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; padding:16px; }
.shnvl-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.65); }
.shnvl-dialog { position:relative; width:min(100%,420px); max-height:90vh; overflow:auto; padding:28px; background:#fff; color:#222; box-shadow:0 12px 35px #0004; }
.shnvl-dialog h2 { margin:0 30px 20px 0; font-size:24px; }
.shnvl-close { position:absolute; top:8px; right:12px; border:0; background:none; color:#222; font-size:30px; cursor:pointer; }
.shnvl-dialog label { display:block; margin:12px 0 5px; font-weight:600; }
.shnvl-dialog input { box-sizing:border-box; width:100%; padding:10px; border:1px solid #888; color:#222; background:#fff; }
.shnvl-note { font-size:12px; line-height:1.5; color:#555; }
.shnvl-message { min-height:1.4em; color:#a11; }
.shnvl-submit { padding:10px 18px; border:0; background:#fc2a20; color:#fff; font-weight:600; cursor:pointer; }
.shnvl-submit:disabled { opacity:.5; cursor:wait; }
.shnvl-open { overflow:hidden; }
