.pm-sc-comments.pm-social-board {
  --pm-sc-ink: #292522;
  --pm-sc-muted: #77716c;
  --pm-sc-line: #eee5dc;
  --pm-sc-soft: #faf6f2;
  --pm-sc-accent: #d71920;
  width: 100%; max-width: 100%; margin: 30px auto; color: var(--pm-sc-ink);
  font-size: 16px; line-height: 1.5;
}
.pm-sc-comments *, .pm-sc-camera * { box-sizing: border-box; }
.pm-sc-comments button, .pm-sc-comments input, .pm-sc-comments textarea { font: inherit; }
.pm-sc-comments button { cursor: pointer; }
.pm-sc-comments-header { display:flex; align-items:end; justify-content:space-between; gap:12px; padding: 0 2px 14px; border-bottom:1px solid var(--pm-sc-line); }
.pm-sc-comments-header h2 { margin:2px 0 0; color:var(--pm-sc-ink); font-size:clamp(21px,3vw,27px); line-height:1.2; font-weight:800; letter-spacing:-.025em; }
.pm-sc-eyebrow { color:var(--pm-sc-accent); text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:800; }
.pm-sc-notice { margin:14px 0; padding:12px 15px; border:1px solid #f0c8c8; border-radius:12px; background:#fff7f6; color:#8c2024; }
.pm-sc-empty, .pm-sc-closed { margin:18px 0; padding:16px; border:1px solid var(--pm-sc-line); border-radius:13px; background:#fff; color:var(--pm-sc-muted); }
.pm-sc-comment-list, .pm-sc-comment-children { list-style:none; margin:0; padding:0; }
.pm-sc-comment-list { padding-top:8px; }
.pm-sc-comment-item { margin:14px 0; }
.pm-sc-comment-children { margin:8px 0 0 42px; padding-left:14px; border-left:2px solid var(--pm-sc-line); }
.pm-sc-comment { display:flex; align-items:flex-start; gap:10px; }
.pm-sc-comment-avatar { flex:0 0 38px; }
.pm-sc-comment-avatar img, .pm-sc-guest-avatar { display:block; width:38px; height:38px; border-radius:50%; object-fit:cover; }
.pm-sc-guest-avatar { display:grid; place-items:center; background:#f3eee9; font-size:19px; }
.pm-sc-comment-main { flex:1; min-width:0; }
.pm-sc-comment-bubble { min-width:0; padding:11px 14px; border:1px solid #f0e9e2; border-radius:5px 15px 15px 15px; background:var(--pm-sc-soft); overflow-wrap:anywhere; }
.pm-sc-comment-topline { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 12px; margin-bottom:4px; }
.pm-sc-comment-author { color:var(--pm-sc-ink); font-size:14px; font-weight:800; text-decoration:none; }
.pm-sc-comment-author:hover { color:var(--pm-sc-accent); }
.pm-sc-comment-date { color:var(--pm-sc-muted); font-size:11px; text-decoration:none; }
.pm-sc-comment-text { font-size:15px; line-height:1.55; }
.pm-sc-comment-text p { margin:0 0 8px; white-space:pre-wrap; }
.pm-sc-comment-text p:last-child { margin-bottom:0; }
.pm-sc-comment-text a { color:var(--pm-sc-accent); text-decoration:underline; overflow-wrap:anywhere; }
.pm-sc-comment-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:5px 6px 0; }
.pm-sc-react, .pm-sc-reply { display:inline-flex; align-items:center; gap:5px; padding:3px 5px; border:0; border-radius:7px; background:transparent; color:#726b66; font-size:12px; font-weight:700; text-decoration:none; }
.pm-sc-react:hover, .pm-sc-reply:hover { color:var(--pm-sc-accent); background:#fff2f0; }
.pm-sc-react > span:first-child { color:#d44a52; font-size:15px; }
.pm-sc-react.is-active { color:var(--pm-sc-accent); }
.pm-sc-react-count { color:var(--pm-sc-muted); font-weight:600; }
.pm-sc-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin-top:10px; }
.pm-sc-gallery-item { display:block; min-width:0; overflow:hidden; border-radius:10px; background:#eee8e1; aspect-ratio:1/1; }
.pm-sc-gallery-item img { display:block; width:100%; height:100%; object-fit:cover; }
.pm-sc-media-player { margin-top:10px; max-width:100%; }
.pm-sc-media-player video { display:block; width:100%; max-width:680px; max-height:560px; border-radius:12px; background:#171717; }
.pm-sc-media-player audio { display:block; width:min(460px,100%); max-width:100%; }
.pm-sc-file-link { display:flex; align-items:center; gap:8px; width:fit-content; max-width:100%; margin-top:8px; padding:9px 12px; border:1px solid var(--pm-sc-line); border-radius:10px; background:#fff; color:#514943; font-size:13px; font-weight:700; overflow-wrap:anywhere; text-decoration:none; }
.pm-sc-file-link:hover { border-color:#e9c9c1; color:var(--pm-sc-accent); }
.pm-sc-form { margin-top:22px; padding:15px; border:1px solid var(--pm-sc-line); border-radius:16px; background:#fff; box-shadow:0 5px 20px rgba(77,44,28,.045); }
.pm-sc-form-head { display:flex; align-items:flex-start; gap:11px; }
.pm-sc-form-head > img { flex:0 0 40px; width:40px; height:40px; border-radius:50%; }
.pm-sc-form-fields { flex:1; min-width:0; }
.pm-sc-form textarea { display:block; width:100%; min-height:82px; max-height:360px; resize:vertical; padding:10px 12px; border:1px solid #eee5dc; border-radius:12px; background:#fcfaf8; color:var(--pm-sc-ink); box-shadow:none; font-size:15px; line-height:1.5; }
.pm-sc-form textarea:focus { border-color:#e9a5a7; outline:2px solid rgba(215,25,32,.12); box-shadow:none; }
.pm-sc-form textarea::placeholder { color:#918984; }
.pm-sc-guest-fields { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:9px; }
.pm-sc-guest-fields label { display:grid; gap:4px; color:var(--pm-sc-muted); font-size:12px; font-weight:700; }
.pm-sc-guest-fields input { width:100%; min-height:38px; padding:7px 10px; border:1px solid var(--pm-sc-line); border-radius:9px; background:#fff; color:var(--pm-sc-ink); }
.pm-sc-replying { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 8px; padding:7px 10px; border-radius:8px; background:#fff4f2; color:#8c2024; font-size:12px; }
.pm-sc-replying[hidden] { display:none !important; }
.pm-sc-replying button { border:0; background:transparent; color:inherit; font-size:12px; font-weight:700; }
.pm-sc-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:11px 0 0 50px; }
.pm-sc-tool { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:7px 11px; border:1px solid var(--pm-sc-line); border-radius:999px; background:#fff; color:#514943; font-size:13px; font-weight:750; }
.pm-sc-tool:hover { border-color:#e9c9c1; background:#fff7f4; color:var(--pm-sc-accent); }
.pm-sc-tool-hint { color:var(--pm-sc-muted); font-size:11px; }
.pm-sc-file-input { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; }
.pm-sc-preview { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:8px; margin:12px 0 0 50px; }
.pm-sc-preview[hidden], .pm-sc-emoji-panel[hidden], .pm-sc-camera[hidden] { display:none !important; }
.pm-sc-preview-item { position:relative; min-width:0; min-height:76px; overflow:hidden; border:1px solid var(--pm-sc-line); border-radius:10px; background:#faf7f4; }
.pm-sc-preview-item img, .pm-sc-preview-item video { display:block; width:100%; height:85px; object-fit:cover; }
.pm-sc-preview-file { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:4px; min-height:85px; padding:8px; color:#645b54; text-align:center; font-size:11px; overflow-wrap:anywhere; }
.pm-sc-preview-remove { position:absolute; z-index:2; top:4px; right:4px; width:25px; height:25px; border:0; border-radius:50%; background:rgba(30,25,22,.82); color:#fff; font-size:17px; line-height:1; }
.pm-sc-preview-name { display:block; padding:4px 6px; color:var(--pm-sc-muted); font-size:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pm-sc-emoji-panel { display:flex; flex-wrap:wrap; gap:5px; margin:9px 0 0 50px; padding:9px; border:1px solid var(--pm-sc-line); border-radius:11px; background:#fcfaf8; }
.pm-sc-emoji-panel button { width:35px; height:35px; border:0; border-radius:8px; background:#fff; font-size:21px; }
.pm-sc-emoji-panel button:hover { background:#ffeceb; }
.pm-sc-submit-row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:12px 0 0 50px; padding-top:11px; border-top:1px solid var(--pm-sc-line); }
.pm-sc-status { min-width:0; color:var(--pm-sc-muted); font-size:12px; }
.pm-sc-submit { display:inline-flex; align-items:center; gap:9px; min-height:39px; padding:8px 16px; border:0; border-radius:999px; background:var(--pm-sc-accent); color:#fff; font-size:13px; font-weight:800; }
.pm-sc-submit:hover { background:#b8131a; }
.pm-sc-submit:disabled { opacity:.6; cursor:wait; }
.pm-sc-login-required { margin:0; color:var(--pm-sc-muted); }
.pm-sc-login-required a { color:var(--pm-sc-accent); font-weight:800; }
.pm-sc-camera { position:fixed; z-index:2147483500; inset:0; display:grid; place-items:center; padding:18px; }
.pm-sc-camera-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.68); }
.pm-sc-camera-panel { position:relative; z-index:1; width:min(92vw,720px); max-height:90vh; overflow-y:auto; overscroll-behavior:contain; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:#111; color:#fff; box-shadow:0 24px 70px rgba(0,0,0,.4); }
.pm-sc-camera-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.12); background:#111; }
.pm-sc-camera-head-actions { display:flex; align-items:center; gap:8px; }
.pm-sc-camera-head button { min-width:38px; min-height:38px; border:0; border-radius:50%; background:transparent; color:#fff; font-size:27px; line-height:1; cursor:pointer; }
.pm-sc-camera-settings-toggle { display:none; width:auto!important; min-width:0!important; min-height:34px!important; padding:7px 11px; border:1px solid rgba(255,255,255,.16)!important; border-radius:999px!important; background:rgba(255,255,255,.06)!important; font-size:12px!important; }
.pm-sc-camera-settings-toggle[hidden] { display:none!important; }
.pm-sc-camera-stage { position:relative; z-index:1; isolation:isolate; overflow:hidden; aspect-ratio:16/9; background:#000; display:grid; place-items:center; }
.pm-sc-camera-stage video { display:block; width:100%; height:100%; object-fit:cover; background:#000; transform-origin:center center; }
.pm-sc-camera-zoom { display:none; }
.pm-sc-camera-zoom[hidden] { display:none!important; }
.pm-sc-camera-status { position:absolute; left:12px; right:12px; bottom:12px; z-index:2; padding:8px 10px; border-radius:8px; background:rgba(0,0,0,.6); color:#fff; font-size:13px; }
.pm-sc-camera-devices { position:relative; z-index:4; display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:12px 16px 0; background:#111; }
.pm-sc-camera-devices[hidden] { display:none!important; }
.pm-sc-camera-devices label { display:flex; flex-direction:column; gap:6px; min-width:0; }
.pm-sc-camera-devices label span { color:#ddd; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.pm-sc-camera-devices select { width:100%; min-height:40px; padding:8px 10px; border:1px solid rgba(255,255,255,.18); border-radius:9px; background:#1c1c1c; color:#fff; font:inherit; }
.pm-sc-camera-devices select:disabled { opacity:.55; }
.pm-sc-camera-help { margin:0; padding:10px 16px 0; color:#cfcfcf; font-size:12px; }
.pm-sc-camera-actions { display:flex; flex-wrap:wrap; gap:8px; padding:14px 16px; background:#111; }
.pm-sc-camera-actions button { min-height:40px; padding:8px 13px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:#242424; color:#fff; font-size:13px; font-weight:750; cursor:pointer; }
.pm-sc-camera-actions button:disabled { opacity:.45; cursor:default; }
.pm-sc-camera-gallery{padding:0 16px 16px;background:#111;color:#fff}
.pm-sc-camera-gallery[hidden]{display:none!important}
.pm-sc-camera-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 9px;font-size:13px}
.pm-sc-camera-gallery-head span{padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;font-weight:800;white-space:nowrap}
.pm-sc-camera-gallery-items{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 8px;scroll-snap-type:x proximity}
.pm-sc-camera-gallery-item{position:relative;flex:0 0 76px;width:76px;height:76px;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:#222;scroll-snap-align:start}
.pm-sc-camera-gallery-item img{display:block;width:100%;height:100%;object-fit:cover}
.pm-sc-camera-gallery-number{position:absolute;left:5px;bottom:5px;min-width:19px;padding:2px 5px;border-radius:999px;background:rgba(0,0,0,.68);color:#fff;text-align:center;font-size:10px;font-weight:800}
.pm-sc-camera-gallery-remove{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:23px;height:23px;padding:0;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:17px;line-height:1;cursor:pointer}
.pm-sc-camera-gallery-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;color:#ccc;font-size:12px}
.pm-sc-camera-use{flex:0 0 auto;min-height:38px;padding:8px 15px;border:0;border-radius:999px;background:var(--pm-sc-accent);color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.pm-sc-camera-use:disabled{opacity:.4;cursor:default}
.pm-sc-comments [data-pm-sc-drop-active] { outline:2px dashed #d71920; outline-offset:4px; background:#fff7f6; }
@media(max-width:640px) {
  .pm-sc-comments.pm-social-board { margin:22px auto; font-size:15px; }
  .pm-sc-comment-children { margin-left:18px; padding-left:9px; }
  .pm-sc-comment-avatar { flex-basis:32px; }
  .pm-sc-comment-avatar img, .pm-sc-guest-avatar { width:32px; height:32px; }
  .pm-sc-comment-bubble { padding:9px 11px; }
  .pm-sc-comment-text { font-size:14px; }
  .pm-sc-form { padding:11px; }
  .pm-sc-tools, .pm-sc-preview, .pm-sc-emoji-panel, .pm-sc-submit-row { margin-left:0; }
  .pm-sc-guest-fields { grid-template-columns:1fr; }
  .pm-sc-tool-hint { flex-basis:100%; }
  .pm-sc-preview { grid-template-columns:repeat(auto-fill,minmax(85px,1fr)); }
  .pm-sc-submit-row { align-items:flex-end; }
  .pm-sc-submit { padding:8px 12px; }
}
@media(max-width:640px) {
  .pm-sc-camera { display:block; padding:0; }
  .pm-sc-camera-panel { display:flex; flex-direction:column; width:100vw; height:100dvh; max-height:100dvh; margin:0; border:0; border-radius:0; overflow-y:auto; overscroll-behavior:contain; padding-bottom:max(10px,env(safe-area-inset-bottom)); }
  .pm-sc-camera-head { position:sticky; top:0; z-index:3; flex:0 0 auto; }
  .pm-sc-camera-settings-toggle { display:inline-flex!important; align-items:center; justify-content:center; }
  .pm-sc-camera-stage { aspect-ratio:auto; height:auto; max-height:none; min-height:260px; flex:1 1 auto; touch-action:manipulation; }
  .pm-sc-camera-stage video { object-fit:contain; }
  .pm-sc-camera-zoom:not([hidden]) { position:absolute; top:12px; left:50%; z-index:5; display:flex; align-items:center; gap:7px; width:min(86%,380px); padding:7px 9px; box-sizing:border-box; transform:translateX(-50%); border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(12,12,12,.68); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); color:#fff; touch-action:manipulation; }
  .pm-sc-camera-zoom-button { display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; padding:0; border:1px solid rgba(255,255,255,.24); border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font-size:23px; line-height:1; cursor:pointer; touch-action:manipulation; }
  .pm-sc-camera-zoom-button:disabled { opacity:.4; cursor:default; }
  .pm-sc-camera-zoom input[type=range] { flex:1 1 auto; min-width:30px; width:100%; margin:0; accent-color:#fff; touch-action:pan-x; }
  .pm-sc-camera-zoom output { flex:0 0 34px; min-width:34px; color:#fff; font-size:12px; font-weight:800; text-align:center; font-variant-numeric:tabular-nums; }
  .pm-sc-camera-devices { position:absolute; top:64px; left:12px; right:12px; z-index:8; grid-template-columns:1fr; gap:8px; padding:12px; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(17,17,17,.78); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); box-shadow:0 12px 34px rgba(0,0,0,.28); min-height:0; max-height:38dvh; overflow:auto; }
  .pm-sc-camera-devices[hidden] { display:none!important; }
  .pm-sc-camera-actions { position:relative; z-index:2; flex:0 0 auto; padding:12px 16px; }
  .pm-sc-camera-actions button { flex:1 1 45%; min-height:44px; }
  .pm-sc-camera-settings-open .pm-sc-camera-stage { filter:none; }
}
.pm-sc-reaction-controls { display:inline-flex; align-items:center; flex-wrap:wrap; gap:7px; }
.pm-sc-reaction-wrap { position:relative; display:inline-flex; }
.pm-sc-reaction-picker { position:absolute; z-index:50; left:0; bottom:calc(100% + 7px); display:flex; align-items:center; gap:4px; padding:7px; border:1px solid #2c2c2c; border-radius:999px; background:#202020; box-shadow:0 8px 24px rgba(0,0,0,.22); }
.pm-sc-reaction-picker[hidden] { display:none!important; }
.pm-sc-reaction-picker button { display:grid; place-items:center; width:32px; height:32px; padding:0; border:0; border-radius:50%; background:#303030; font-size:19px; transition:transform .12s ease,background .12s ease; }
.pm-sc-reaction-picker button:hover { transform:translateY(-3px) scale(1.12); background:#4b171a; }
.pm-sc-react-count { display:inline-flex; align-items:center; justify-content:center; min-width:22px; min-height:28px; padding:4px 8px; border:0; border-radius:999px; background:transparent; color:var(--pm-sc-muted); font-size:12px; font-weight:700; line-height:1; }
button.pm-sc-react-count { cursor:pointer; }
button.pm-sc-react-count:hover { background:#fff3f1; color:var(--pm-sc-ink); }
.pm-sc-reaction-summary { display:inline-flex; align-items:center; gap:1px; }
.pm-sc-reaction-summary-icon { display:inline-grid; place-items:center; width:20px; height:20px; margin-left:-2px; border:2px solid #fff; border-radius:50%; background:#fff; font-size:13px; line-height:1; }
.pm-sc-reaction-list-modal { --pm-sc-ink:#292522; --pm-sc-muted:#77716c; --pm-sc-line:#eee5dc; position:fixed; inset:0; z-index:2147483590; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(0,0,0,.5); box-sizing:border-box; }
.pm-sc-reaction-list-panel { width:min(420px,94vw); max-height:min(620px,82vh); overflow:hidden; border:1px solid #eee5dc; border-radius:18px; background:#fff; box-shadow:0 18px 60px rgba(0,0,0,.24); }
.pm-sc-reaction-list-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 17px; border-bottom:1px solid #eee6df; }
.pm-sc-reaction-list-header strong { color:var(--pm-sc-ink); font-size:17px; }
.pm-sc-reaction-list-close { width:38px; height:38px; min-width:38px; padding:0; border:0; border-radius:50%; background:#f7f2ed; color:#5e5752; font-size:27px; line-height:1; cursor:pointer; }
.pm-sc-reaction-list-close:hover, .pm-sc-reaction-list-close:focus-visible { background:#eee5dc; color:#111; }
.pm-sc-reaction-list { max-height:calc(min(620px,82vh) - 68px); overflow-y:auto; padding:6px 0; }
.pm-sc-reaction-user { display:flex; align-items:center; gap:12px; padding:10px 17px; }
.pm-sc-reaction-user img { flex:0 0 auto; width:40px; height:40px; border-radius:50%; object-fit:cover; }
.pm-sc-reaction-user-name { min-width:0; flex:1; color:var(--pm-sc-ink); font-size:15px; font-weight:700; overflow-wrap:anywhere; }
.pm-sc-reaction-user-chip { display:inline-flex; align-items:center; justify-content:center; min-width:28px; min-height:28px; padding:3px 6px; border-radius:999px; background:#f5f1ed; font-size:17px; }
.pm-sc-reaction-user-chip svg { display:block; width:20px; height:20px; }
.pm-sc-reaction-list-empty { margin:0; padding:18px; color:var(--pm-sc-muted); font-size:14px; text-align:center; }
@media(max-width:600px) {
  .pm-sc-reaction-list-modal { align-items:flex-end; padding:10px; }
  .pm-sc-reaction-list-panel { width:100%; max-height:min(72vh,620px); border-radius:18px 18px 12px 12px; }
  .pm-sc-reaction-list { max-height:calc(min(72vh,620px) - 68px); }
  .pm-sc-reaction-user-name { font-size:16px; }
}
/* Video links in article comments use the same supported YouTube/Facebook formats as the Social Board. */
.pm-sc-comment-embeds { display:grid; gap:10px; margin-top:12px; }
.pm-sc-embed { position:relative; width:min(100%,720px); aspect-ratio:16/9; overflow:hidden; border-radius:12px; background:#111; }
.pm-sc-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.pm-sc-embed--vertical { width:min(100%,360px); aspect-ratio:9/16; }
.pm-sc-cookie-consent { display:flex; align-items:flex-start; gap:8px; margin:10px 0 0 50px; color:var(--pm-sc-muted); font-size:12px; line-height:1.4; }
.pm-sc-cookie-consent input { margin-top:2px; }
@media(max-width:640px) { .pm-sc-cookie-consent { margin-left:0; } }


/* Galleria commenti: visualizzatore condiviso con PublicMusic Social Board v174. */
.pm-sc-gallery-item { cursor: zoom-in; }
.pm-sc-gallery-item img { cursor: zoom-in; }
.pm-sb-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: grid;
  place-items: center;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  padding: 24px;
  box-sizing: border-box;
}
.pm-sb-lightbox[hidden] { display: none !important; }
.pm-sb-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .88);
}
.pm-sb-lightbox-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  pointer-events: none;
}
.pm-sb-lightbox-image {
  display: block;
  touch-action: pan-y;
  width: auto !important;
  height: auto !important;
  max-width: 96vw !important;
  max-height: 92vh !important;
  max-height: 92dvh !important;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, .55);
  pointer-events: auto;
}
.pm-sb-lightbox-close {
  position: absolute;
  top: max(10px, env(safe-area-inset-top));
  right: max(10px, env(safe-area-inset-right));
  z-index: 2;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, .62);
  color: #fff;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
}
.pm-sb-lightbox-close:hover,
.pm-sb-lightbox-close:focus-visible {
  background: rgba(0, 0, 0, .82);
}
html.pm-sb-lightbox-open,
body.pm-sb-lightbox-open {
  overscroll-behavior: none;
}
@media (max-width: 600px) {
  .pm-sb-lightbox { padding: 10px; }
  .pm-sb-lightbox-image {
    touch-action: pan-y;
    max-width: 98vw !important;
    max-height: 88dvh !important;
  }
  .pm-sb-lightbox-close {
    width: 44px;
    height: 44px;
    font-size: 32px;
  }
}

/* Gallery lightbox controls. */
.pm-sb-lightbox-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 48px;
  height: 48px;
  margin-top: -24px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0,0,0,.62);
  color: #fff;
  font-size: 42px;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
}
.pm-sb-lightbox-nav:hover,
.pm-sb-lightbox-nav:focus-visible {
  background: rgba(0,0,0,.82);
}
.pm-sb-lightbox-prev { left: 12px; }
.pm-sb-lightbox-next { right: 12px; }
.pm-sb-lightbox-nav[hidden] { display: none !important; }
@media (max-width: 600px) {
  .pm-sb-lightbox-nav {
    width: 44px;
    height: 44px;
    margin-top: -22px;
    font-size: 38px;
  }
  .pm-sb-lightbox-prev { left: 6px; }
  .pm-sb-lightbox-next { right: 6px; }
  .pm-social-board .pm-sb-media-preview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Image viewer zoom controls (kept inside the existing Social Board lightbox). */
.pm-sb-lightbox-image {
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  will-change: transform;
  cursor: zoom-in;
}
.pm-sb-lightbox-image.is-zoomed { cursor: grab; }
.pm-sb-lightbox-image.is-dragging { cursor: grabbing; }
.pm-sb-lightbox-zoom {
  position: absolute;
  left: 50%;
  bottom: max(14px, env(safe-area-inset-bottom));
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 8px;
  width: min(86vw, 380px);
  padding: 7px 9px;
  box-sizing: border-box;
  transform: translateX(-50%);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(12,12,12,.78);
  box-shadow: 0 5px 24px rgba(0,0,0,.25);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
  pointer-events: auto;
  touch-action: manipulation;
}
.pm-sb-lightbox-zoom-button,
.pm-sb-lightbox-zoom-reset {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: 23px;
  line-height: 1;
  cursor: pointer;
  touch-action: manipulation;
}
.pm-sb-lightbox-zoom-reset { font-size: 20px; }
.pm-sb-lightbox-zoom-button:disabled,
.pm-sb-lightbox-zoom-reset:disabled { opacity: .4; cursor: default; }
.pm-sb-lightbox-zoom input[type="range"] {
  flex: 1 1 auto;
  min-width: 30px;
  width: 100%;
  margin: 0;
  accent-color: #fff;
  touch-action: pan-x;
}
.pm-sb-lightbox-zoom output {
  flex: 0 0 34px;
  min-width: 34px;
  text-align: center;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 600px) {
  .pm-sb-lightbox-zoom { bottom: max(12px, env(safe-area-inset-bottom)); gap: 6px; width: min(94vw, 380px); }
  .pm-sb-lightbox-zoom-button,
  .pm-sb-lightbox-zoom-reset { flex-basis: 32px; width: 32px; height: 32px; }
  .pm-sb-lightbox-zoom output { flex-basis: 30px; min-width: 30px; }
}


/* PublicMusic Social Comments 1.0.3 — Social Board parity refinements. */
.pm-sb-mention-suggestions {
  position: fixed; z-index: 2147483000; display: grid; gap: 3px; max-height: min(360px, 55vh);
  overflow-y: auto; padding: 6px; border: 1px solid #e7ddd5; border-radius: 13px;
  background: rgba(255,255,255,.99); box-shadow: 0 14px 34px rgba(55,38,29,.18);
}
.pm-sb-mention-suggestion {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 42px; padding: 6px 9px;
  border: 0; border-radius: 9px; background: transparent; color: #292522; text-align: left;
  font: inherit; font-size: 14px; font-weight: 650; cursor: pointer;
}
.pm-sb-mention-suggestion:hover,
.pm-sb-mention-suggestion:focus-visible { background: #f6eee8; outline: none; }
.pm-sb-mention-suggestion img { width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; object-fit: cover; }
.pm-sb-mention-suggestion .pm-sb-mention-all-avatar { display: grid; place-items: center; background: #f0e7df; color: #9b1c2e; font-weight: 900; }
.pm-sc-comment-text .pm-sb-mention { color: #a51e30; font-weight: 750; text-decoration: none; }
.pm-sc-comment-text .pm-sb-mention:hover { text-decoration: underline; }
.pm-sc-comment-text .pm-sb-mention--all { display: inline; }

.pm-social-board .pm-sc-comment { scroll-margin-top: 100px; }
.pm-social-board .pm-sc-comment-item--reply .pm-sc-comment-bubble { border-left: 2px solid rgba(197,31,50,.24); }
.pm-social-board .pm-sb-comment-reply-context { margin: 1px 0 5px; color: var(--pm-sc-muted,#777); font-size: 12px; line-height: 1.4; }
.pm-social-board .pm-sb-comment-reply-context a { color: var(--pm-sc-accent,#c51f32); font-weight: 700; text-decoration: none; }
.pm-social-board .pm-sb-comment-reply-context a:hover,
.pm-social-board .pm-sb-comment-reply-context a:focus-visible { text-decoration: underline; }

.pm-social-board .pm-sc-reaction-controls { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.pm-social-board .pm-sc-reaction-wrap { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 0; }
.pm-social-board .pm-sc-reaction-wrap .pm-sb-comment-like-button {
  display: inline-flex; align-items: center; justify-content: center; min-width: 31px; min-height: 31px;
  padding: 4px; border: 0; border-radius: 9px; background: transparent; color: #625a54; cursor: pointer;
}
.pm-social-board .pm-sc-reaction-wrap.has-reaction .pm-sb-comment-like-button { color: var(--pm-sb-reaction-color, #1f6fe5); background: color-mix(in srgb, var(--pm-sb-reaction-color, #1f6fe5) 11%, #fff); }
.pm-social-board .pm-sb-comment-like-icon { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex: 0 0 20px; color: currentColor; }
.pm-social-board .pm-sb-comment-like-icon svg,
.pm-social-board .pm-sb-reaction-option svg,
.pm-social-board .pm-sb-reaction-summary-icon svg,
.pm-social-board .pm-sc-reaction-user-chip svg { display: block; width: 100%; height: 100%; }
.pm-social-board .pm-sb-reaction-picker { position: absolute; z-index: 60; left: 50%; bottom: calc(100% + 9px); transform: translate(-50%, 4px) scale(.97); transform-origin: center bottom; display: flex; align-items: center; gap: 5px; padding: 7px; background: rgba(255,255,255,.98); border: 1px solid #e7ddd5; border-radius: 16px; box-shadow: 0 14px 34px rgba(55,38,29,.16); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .14s ease, transform .14s ease, visibility .14s ease; }
.pm-social-board .pm-sb-reaction-picker[hidden] { display: none !important; }
.pm-social-board .pm-sc-reaction-wrap:hover .pm-sb-reaction-picker,
.pm-social-board .pm-sc-reaction-wrap:focus-within .pm-sb-reaction-picker,
.pm-social-board .pm-sc-reaction-wrap.is-open .pm-sb-reaction-picker { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0) scale(1); }
.pm-social-board .pm-sb-reaction-option { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 6px; border: 0; border-radius: 10px; background: transparent; color: var(--pm-sb-reaction-color); cursor: pointer; transition: transform .13s ease, background .13s ease; }
.pm-social-board .pm-sb-reaction-option:hover,
.pm-social-board .pm-sb-reaction-option:focus-visible,
.pm-social-board .pm-sb-reaction-option.is-selected { transform: translateY(-3px) scale(1.13); background: color-mix(in srgb, var(--pm-sb-reaction-color) 10%, white); outline: none; }
.pm-social-board .pm-sb-comment-reaction-summary-icons { display: inline-flex; align-items: center; gap: 2px; }
.pm-social-board .pm-sb-reaction-summary-icon { display: inline-flex; width: 16px; height: 16px; color: var(--pm-sb-reaction-color, #777); }
.pm-social-board .pm-sb-reaction-summary-icon[data-reaction="like"] { color: #1f6fe5; }
.pm-social-board .pm-sb-reaction-summary-icon[data-reaction="dislike"] { color: #d63b43; }
.pm-social-board .pm-sb-reaction-summary-icon[data-reaction="love"] { color: #d52d5f; }
.pm-social-board .pm-sb-reaction-summary-icon[data-reaction="fire"] { color: #f07a16; }
.pm-social-board .pm-sb-reaction-summary-icon[data-reaction="groove"] { color: #6c3bc6; }
.pm-social-board .pm-sb-reaction-summary-icon[data-reaction="wow"] { color: #08a6b7; }
.pm-social-board .pm-sb-reaction-summary-icon[data-reaction="respect"] { color: #2f8a48; }
.pm-social-board .pm-sb-reaction-summary-icon[data-reaction="rock"] { color: #e0a20b; }
.pm-social-board .pm-sc-react-count { cursor: pointer; white-space: nowrap; }
.pm-sc-notification-focus { animation: pm-sc-notification-pulse 2.4s ease-out 1; }
@keyframes pm-sc-notification-pulse { 0%, 35% { outline: 3px solid rgba(197,31,50,.58); outline-offset: 3px; } 100% { outline-color: transparent; outline-offset: 8px; } }
@media (max-width: 700px), (hover: none) {
  .pm-social-board .pm-sb-reaction-picker { left: 0; transform-origin: left bottom; transform: translate(0, 4px) scale(.97); max-width: min(92vw, 430px); overflow-x: auto; }
  .pm-social-board .pm-sc-reaction-wrap:hover .pm-sb-reaction-picker { opacity: 0; visibility: hidden; pointer-events: none; transform: translate(0, 4px) scale(.97); }
  .pm-social-board .pm-sc-reaction-wrap.is-open .pm-sb-reaction-picker { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(0, 0) scale(1); }
  .pm-social-board .pm-sb-reaction-option { flex: 0 0 48px; width: 48px; min-width: 48px; height: 50px; }
}

/* PublicMusic Social Comments 1.0.7 — tipografia più leggibile, senza modifiche al layout. */
.pm-sc-comments.pm-social-board {
  --pm-sc-ink: #28232b;
  --pm-sc-muted: #625b66;
  --pm-sc-line: #e9e1da;
  --pm-sc-soft: #fcf8f4;
  font-weight: 500;
}
.pm-sc-comments .pm-sc-comments-header h2 { color: #28232b; }
.pm-sc-comments .pm-sc-eyebrow { color: #b51f32; }
.pm-sc-comments .pm-sc-notice { color: #782027; font-weight: 550; }
.pm-sc-comments .pm-sc-empty,
.pm-sc-comments .pm-sc-closed { color: #625b66; font-weight: 500; }
.pm-sc-comments .pm-sc-comment-bubble { border-color: #e8dfd7; }
.pm-sc-comments .pm-sc-comment-author {
  color: #302633;
  font-size: 15px;
  font-weight: 750;
}
.pm-sc-comments .pm-sc-comment-date {
  color: #655d69;
  font-size: 12px;
  font-weight: 600;
}
.pm-sc-comments .pm-sc-comment-text {
  color: #302c33;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}
.pm-sc-comments .pm-sc-comment-text strong,
.pm-sc-comments .pm-sc-comment-text b { color: #26212a; font-weight: 750; }
.pm-sc-comments .pm-sc-comment-text a { color: #a51e30; font-weight: 600; }
.pm-sc-comments .pm-sc-comment-text .pm-sb-mention { color: #982036; font-weight: 750; }
.pm-sc-comments .pm-sc-comment-actions { color: #5d5660; }
.pm-sc-comments .pm-sc-react,
.pm-sc-comments .pm-sc-reply {
  color: #5b535e;
  font-size: 13px;
  font-weight: 700;
}
.pm-sc-comments .pm-sc-react-count { color: #625b66; font-weight: 700; }
.pm-sc-comments .pm-sb-comment-reply-context {
  color: #625b66;
  font-size: 13px;
  font-weight: 500;
}
.pm-sc-comments .pm-sb-comment-reply-context a { color: #a51e30; font-weight: 750; }
.pm-sc-comments .pm-sc-file-link { color: #403840; font-size: 14px; font-weight: 700; }
.pm-sc-comments .pm-sc-form textarea {
  color: #302a34;
  font-size: 16px;
  font-weight: 500;
}
.pm-sc-comments .pm-sc-form textarea::placeholder { color: #6b636d; opacity: 1; }
.pm-sc-comments .pm-sc-guest-fields label { color: #625b66; font-size: 13px; font-weight: 700; }
.pm-sc-comments .pm-sc-guest-fields input { color: #302a34; font-size: 15px; font-weight: 500; }
.pm-sc-comments .pm-sc-tool { color: #49414c; font-size: 14px; font-weight: 700; }
.pm-sc-comments .pm-sc-tool-hint,
.pm-sc-comments .pm-sc-preview-name,
.pm-sc-comments .pm-sc-status,
.pm-sc-comments .pm-sc-cookie-consent {
  color: #625b66;
  font-size: 12px;
  font-weight: 500;
}
.pm-sc-comments .pm-sc-preview-file { color: #514954; font-size: 12px; font-weight: 500; }
.pm-sc-comments .pm-sc-submit { font-size: 14px; font-weight: 800; }
.pm-sc-comments .pm-sc-login-required { color: #5e5662; font-weight: 500; }
.pm-sc-comments .pm-sc-login-required a { color: #a51e30; }
.pm-sc-reaction-list-modal { --pm-sc-ink: #28232b; --pm-sc-muted: #625b66; }
.pm-sc-reaction-list-modal .pm-sc-reaction-list-empty { color: #625b66; font-weight: 500; }
.pm-sb-mention-suggestion { color: #302a34; font-weight: 650; }

@media (max-width: 640px) {
  .pm-sc-comments .pm-sc-comment-author { font-size: 14.5px; }
  .pm-sc-comments .pm-sc-comment-date { font-size: 11.5px; }
  .pm-sc-comments .pm-sc-comment-text { font-size: 15px; line-height: 1.6; }
  .pm-sc-comments .pm-sc-react,
  .pm-sc-comments .pm-sc-reply { font-size: 12.5px; }
  .pm-sc-comments .pm-sc-form textarea { font-size: 15px; }
}
