:root{
  --nm-page:#f5f7fb;
  --nm-card:#f3f4f6;   /* card grigio chiaro */
  --nm-fg:#1f2937;
  --nm-muted:#6b7280;
  --nm-border:#cfd6e3; /* bordo marcato */
  --nm-accent:#2563eb;
  --nm-accent-fg:#ffffff;
  --nm-success:#10b981;
  --nm-danger:#dc2626;
  --nm-radius:16px;
  --nm-shadow:0 10px 28px rgba(16,24,40,.06);
  --nm-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

body{ background:var(--nm-page); }

.nm-wrap{ max-width:80vw; margin:0 auto; font-family:var(--nm-font); color:var(--nm-fg); }
.nm-wrap h2{ margin:24px 0 8px; font-size:clamp(22px,3vw,32px); letter-spacing:.2px; }

.nm-authbar{ display:flex; gap:10px; align-items:center; justify-content:flex-end; margin-bottom:8px; }
.nm-authstate{ font-size:13px; color:#065f46; background:#d1fae5; padding:4px 8px; border-radius:999px; }

.nm-badge{ display:inline-block; background:#eef2ff; padding:6px 10px; border-radius:999px; font-size:12px; color:#3730a3; margin-bottom:12px; }

.nm-card{ background:var(--nm-card); border:1px solid var(--nm-border); border-radius:var(--nm-radius); padding:18px; margin:22px 0; box-shadow:var(--nm-shadow); }
.nm-new{ border-style:dashed; background:#e9ecf5; }

.nm-media{ margin-bottom:12px; }
.nm-poster{ width:100%; height:auto; display:block; border-radius:12px; box-shadow:0 1px 8px rgba(0,0,0,.05); background:#fff; }
.nm-placeholder{ padding:36px; text-align:center; color:var(--nm-muted); background:#ffffff; border:1px dashed var(--nm-border); border-radius:12px; }

.nm-actions{ display:flex; gap:12px; justify-content:center; margin:10px 0 8px; flex-wrap:wrap; }

.nm-btn{ padding:11px 16px; border-radius:12px; border:1px solid var(--nm-border); background:#f9fafb; cursor:pointer; font-weight:600; transition:transform .04s ease, box-shadow .2s ease; }
.nm-btn:hover{ transform:translateY(-1px); box-shadow:var(--nm-shadow); }
.nm-btn-primary{ background:var(--nm-accent); color:var(--nm-accent-fg); border-color:transparent; }
.nm-btn-secondary{ background:#eef2ff; color:#3730a3; border-color:transparent; }
.nm-btn-accent{ background:var(--nm-success); color:#ffffff; border-color:transparent; }
.nm-btn-outline{ background:transparent; }
.nm-btn-danger{ background:var(--nm-danger); color:#fff; border-color:transparent; }
.nm-btn-muted{ background:#eef2f7; color:#111827; border-color:transparent; }

.nm-condoglianze-form, .nm-admin-form, .nm-new-form, .nm-login-form{ margin-top:12px; }
.nm-condoglianze-form textarea{ width:100%; min-height:140px; padding:12px; border:1px solid var(--nm-border); border-radius:10px; font-family:var(--nm-font); background:#fff; }
.nm-row{ display:flex; gap:12px; margin-top:8px; }
.nm-row input{ flex:1; padding:10px 12px; border:1px solid var(--nm-border); border-radius:10px; background:#fff; }
.nm-field{ display:block; margin:10px 0; font-size:14px; color:var(--nm-muted); }
.nm-field input{ width:100%; margin-top:6px; padding:10px 12px; border:1px solid var(--nm-border); border-radius:10px; background:#fff; }
.nm-help{ display:block; margin-top:6px; color:#6b7280; font-size:12px; }

.nm-login-form input[type=password]{ width:100%; max-width:320px; }

.nm-form-actions{ display:flex; gap:10px; justify-content:flex-end; margin-top:12px; }
.nm-privacy{ display:flex; align-items:center; gap:8px; margin-top:8px; font-size:14px; color:var(--nm-muted); }
.nm-msg, .nm-admin-msg, .nm-new-msg{ margin-top:8px; font-size:14px; color:var(--nm-muted); }

.nm-honeypot{ position:absolute; left:-9999px; }

/* Bottone “Aggiungi” sotto la lista */
.nm-add-below{ display:flex; justify-content:center; margin:20px 0 8px; }

/* Toast */
.nm-toast{
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%) translateY(20px);
  background: #111827; color: #fff; padding: 10px 14px; border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2); opacity: 0; transition: transform .25s ease, opacity .25s ease; z-index: 9999;
}
.nm-toast.show{ opacity: 1; transform: translateX(-50%) translateY(0); }

@media (max-width: 768px){
  .nm-wrap{ max-width:92vw; }
  .nm-row{ flex-direction:column; }
}
