/* Nicegroove – Musica */
.ngm-wrap{
	--ngm-choc:#3b2418;
	--ngm-mustard:#d9a21b;
	--ngm-orange:#d9631e;
	--ngm-cream:#fbf5ea;
	--ngm-line:rgba(59,36,24,.14);
	--ngm-muted:rgba(59,36,24,.68);
	--ngm-line-out:rgba(128,128,128,.45);
	margin:0 0 2em;
}
/* Testi fuori dalle schede: seguono i colori del tema (chiaro o scuro). */
.ngm-wrap .ngm-empty,.ngm-wrap .ngm-count,.ngm-wrap .ngm-weekly-week,.ngm-wrap .ngm-as,.ngm-wrap .ngm-form label small,.ngm-wrap>.ngm-note,.ngm-form .ngm-note,.ngm-reviews>.ngm-note{color:inherit;opacity:.78}
/* Schede chiare: testo scuro esplicito, qualunque sia il tema. */
.ngm-wrap .ngm-card,.ngm-wrap .ngm-mini,.ngm-wrap .ngm-invite,.ngm-wrap .ngm-review,.ngm-wrap .ngm-banner,.ngm-wrap .ngm-msg{color:var(--ngm-choc)}
.ngm-wrap .ngm-card h3,.ngm-wrap .ngm-mini h3,.ngm-wrap .ngm-invite h3,.ngm-wrap .ngm-card .ngm-title a,.ngm-wrap .ngm-review strong{color:var(--ngm-choc)!important}
.ngm-wrap .ngm-card .ngm-title a:hover{color:var(--ngm-orange)!important}
.ngm-wrap .ngm-card p,.ngm-wrap .ngm-mini p,.ngm-wrap .ngm-invite p,.ngm-wrap .ngm-review p{color:inherit}
.ngm-wrap *,.ngm-wrap *::before,.ngm-wrap *::after{box-sizing:border-box}

/* Griglia e lista */
.ngm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.ngm-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ngm-list>li{margin:0}
.ngm-list .ngm-card{display:grid;grid-template-columns:140px 1fr;align-items:start}
.ngm-list .ngm-cover{aspect-ratio:1}

/* Scheda */
.ngm-card{background:#fff;border:1px solid var(--ngm-line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.ngm-cover{position:relative;aspect-ratio:1;background:var(--ngm-choc);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ngm-cover a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-decoration:none}
.ngm-cover-img{width:100%;height:100%;object-fit:cover;display:block}
.ngm-cover-ph{font-size:48px;color:var(--ngm-mustard);line-height:1}
.ngm-pos{position:absolute;top:8px;left:8px;background:var(--ngm-mustard);color:var(--ngm-choc);font-weight:700;min-width:34px;height:34px;padding:0 8px;border-radius:17px;display:flex;align-items:center;justify-content:center;font-size:17px}
.ngm-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.ngm-title{font-size:1.1em;line-height:1.25;margin:0}
.ngm-title a{color:inherit;text-decoration:none}
.ngm-title a:hover{color:var(--ngm-orange)}
.ngm-artist{margin:0;font-weight:600;color:var(--ngm-choc)}
.ngm-meta,.ngm-by,.ngm-why{margin:0;font-size:.88em;color:var(--ngm-muted)}
.ngm-why{font-style:italic}
.ngm-tags{display:flex;flex-wrap:wrap;gap:6px}
.ngm-tag{font-size:.75em;padding:2px 9px;border-radius:999px;background:var(--ngm-cream);color:var(--ngm-choc);text-decoration:none;border:1px solid var(--ngm-line)}
.ngm-tag:hover{border-color:var(--ngm-orange)}
.ngm-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}
.ngm-play,.ngm-btn,.ngm-download,.ngm-search button,.ngm-form button{
	appearance:none;border:0;cursor:pointer;background:var(--ngm-orange);color:#fff;border-radius:999px;padding:7px 15px;font-size:.88em;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex;align-items:center;gap:6px
}
.ngm-play:hover,.ngm-btn:hover,.ngm-download:hover,.ngm-search button:hover,.ngm-form button:hover{background:var(--ngm-choc);color:#fff}
.ngm-btn-alt{background:transparent;color:var(--ngm-choc);border:1px solid var(--ngm-choc)}
.ngm-btn-alt:hover{background:var(--ngm-choc);color:#fff}
.ngm-download{background:var(--ngm-mustard);color:var(--ngm-choc)}
.ngm-like{appearance:none;background:transparent;border:1px solid var(--ngm-line);border-radius:999px;padding:5px 12px;font-size:.88em;color:var(--ngm-choc);cursor:pointer;display:inline-flex;align-items:center;gap:5px;text-decoration:none;line-height:1.2}
.ngm-like:hover{border-color:var(--ngm-orange)}
.ngm-like .ngm-heart{color:#c9b8ad;transition:transform .15s}
.ngm-like.is-liked .ngm-heart{color:var(--ngm-orange);transform:scale(1.15)}
.ngm-like[disabled]{opacity:.6}
.ngm-buylinks{display:flex;flex-direction:column;gap:4px;font-size:.85em}
.ngm-buy-label{color:var(--ngm-muted);margin-right:2px}
.ngm-buy{display:inline-block;margin:0 8px 0 0;color:var(--ngm-orange);font-weight:600;text-decoration:none}
.ngm-buy:hover{text-decoration:underline}
.ngm-player{margin-top:8px}
.ngm-player iframe{width:100%;max-width:100%;border:0;display:block}
.ngm-note{font-size:.85em;color:var(--ngm-muted);margin:0}
.ngm-locked::before{content:"🔒 "}
.ngm-banner{background:var(--ngm-cream);border-left:3px solid var(--ngm-mustard);padding:10px 14px;margin-bottom:16px}
.ngm-rating{margin:0;font-size:.9em;color:var(--ngm-muted)}
.ngm-stars{color:var(--ngm-mustard);letter-spacing:1px}
.ngm-stars-off{color:#e2d8cf}
.ngm-empty{color:var(--ngm-muted);font-style:italic}

/* Weekly Ten */
.ngm-weekly-head{margin-bottom:18px}
.ngm-kicker{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.8em;font-weight:700;color:var(--ngm-orange)}
.ngm-weekly-title{margin:.15em 0}
.ngm-weekly-week{margin:0;color:var(--ngm-muted)}
.ngm-archive{margin-top:28px;border-top:1px solid var(--ngm-line-out);padding-top:16px}
.ngm-archive h3{font-size:1em;margin:0 0 8px}
.ngm-archive ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ngm-archive a{display:inline-block;padding:4px 12px;border:1px solid var(--ngm-line-out);border-radius:999px;font-size:.85em;text-decoration:none;color:inherit}
.ngm-archive .is-current a{background:var(--ngm-mustard);color:var(--ngm-choc);border-color:var(--ngm-mustard)}

/* Trova per genere */
.ngm-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ngm-chip{padding:6px 14px;border-radius:999px;border:1px solid var(--ngm-line);text-decoration:none;color:var(--ngm-choc);font-size:.9em;background:#fff}
.ngm-chip:hover{border-color:var(--ngm-orange)}
.ngm-chip.is-active{background:var(--ngm-mustard);border-color:var(--ngm-mustard);color:var(--ngm-choc)}
.ngm-search{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.ngm-search input[type=search]{flex:1 1 240px;min-width:0;padding:8px 12px;border:1px solid var(--ngm-line-out);border-radius:8px}
.ngm-search select{padding:8px 10px;border:1px solid var(--ngm-line-out);border-radius:8px;color:inherit;background:transparent}
.ngm-search select option{color:#222}
.ngm-count{color:var(--ngm-muted);font-size:.9em;margin:0 0 10px}
.ngm-pages{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.ngm-pages a,.ngm-pages span{padding:5px 11px;border:1px solid var(--ngm-line-out);border-radius:6px;text-decoration:none;color:inherit}
.ngm-pages .is-current{background:var(--ngm-mustard);color:var(--ngm-choc);border-color:var(--ngm-mustard)}

/* Box in home */
.ngm-rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.ngm-rail-head h2{margin:0}
.ngm-rail-more{font-weight:600;color:var(--ngm-mustard);text-decoration:none}
.ngm-rail-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.ngm-mini{flex:0 0 200px;scroll-snap-align:start;background:#fff;border:1px solid var(--ngm-line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.ngm-mini .ngm-title{font-size:.95em;padding:10px 12px 0}
.ngm-mini .ngm-title span{font-weight:400}
.ngm-mini .ngm-by{padding:2px 12px 0}
.ngm-mini .ngm-actions{padding:8px 12px 12px;margin-top:auto}
.ngm-mini .ngm-btn{padding:5px 12px;font-size:.8em}

/* Modulo Consiglia */
.ngm-invite{background:var(--ngm-cream);border:1px solid var(--ngm-line);border-radius:10px;padding:20px}
.ngm-invite h3{margin-top:0}
.ngm-form{display:grid;gap:4px;max-width:720px}
.ngm-form p{margin:0 0 10px}
.ngm-form label{display:block;font-weight:600;margin-bottom:4px}
.ngm-form label small{font-weight:400;color:var(--ngm-muted)}
.ngm-form input[type=text],.ngm-form input[type=url],.ngm-form select,.ngm-form textarea{width:100%;padding:9px 12px;border:1px solid var(--ngm-line-out);border-radius:8px;font:inherit}
.ngm-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.ngm-hp{position:absolute!important;left:-9999px!important;height:1px;overflow:hidden}
.ngm-as{color:var(--ngm-muted)}
.ngm-msg{padding:10px 14px;border-radius:8px;margin:0 0 14px}
.ngm-ok{background:#eaf6ea;border:1px solid #9fd09f}
.ngm-err{background:#fdecea;border:1px solid #f0a8a0}
.ngm-mine{margin-top:20px;max-width:720px}
.ngm-mine ul{margin:0;padding-left:18px}
.ngm-state{font-size:.78em;padding:1px 8px;border-radius:999px;background:#f1e7d6;color:var(--ngm-choc)!important;margin-left:6px}
.ngm-state.is-ok{background:#e1f2e1}

/* Scheda singola */
.ngm-single{margin-bottom:1.5em}
.ngm-single .ngm-card{max-width:760px}
.ngm-promo-info{color:var(--ngm-muted);font-size:.92em}
.ngm-review-vote{margin:0 0 .3em}
.ngm-reviews{margin-top:2em}
.ngm-reviews-avg{font-size:.6em;font-weight:400;color:var(--ngm-muted);margin-left:8px}
.ngm-review-list{list-style:none;margin:0 0 1.5em;padding:0;display:grid;gap:12px}
.ngm-review{border:1px solid var(--ngm-line);border-radius:10px;padding:12px 16px;background:#fff}
.ngm-review-head{margin:0 0 4px}
.ngm-review p:last-child{margin-bottom:0}
.comment-form-ngm-voto select{padding:6px 10px}

@media (max-width:600px){
	.ngm-list .ngm-card{grid-template-columns:96px 1fr}
	.ngm-row{grid-template-columns:1fr}
	.ngm-grid{grid-template-columns:1fr 1fr;gap:12px}
	.ngm-body{padding:10px 12px 12px}
}
@media (max-width:400px){
	.ngm-grid{grid-template-columns:1fr}
}
