/* Notlife Midnight Theme — v1.2 (2025‑08‑27)
   - Bottom‑bar ancora più sottile e sempre scura
   - Titoli/gerarchie compatti su Omaggi/Scanner/Ospiti
   - Badge/contrasto migliorati
   - Login: bottone “Accedi” violetto
*/

:root{
  --nl-bg:#0f0d1d; --nl-bg2:#14122a;
  --nl-card:#171a26; --nl-card-2:#1b2030;
  --nl-border:rgba(255,255,255,.07); --nl-soft:rgba(255,255,255,.04);
  --nl-text:#e8edf6; --nl-text-weak:#c0c7d6; --nl-text-muted:#9aa3b2;
  --nl-ac1:#4cc9f0; --nl-ac2:#4361ee; --nl-ac3:#2f74ff;
  --nl-v1:#8b5cf6; --nl-v2:#6d28d9;             /* violetto login */
  --nl-success:#32d583; --nl-danger:#ef476f;
  --nl-shadow:0 12px 38px rgba(0,0,0,.35);
}

body.nl-dark{
  color:var(--nl-text);
  background:
    radial-gradient(1200px 600px at 50% -10%, #261f48 0%, transparent 55%),
    linear-gradient(180deg, #0f0d1d 0%, #12112a 100%);
}

/* Testi */
body.nl-dark h1,body.nl-dark h2,body.nl-dark h3,body.nl-dark .item-title{color:var(--nl-text)}
body.nl-dark .item-sub,.text-muted{color:var(--nl-text-muted)!important}
body.nl-dark a{color:var(--nl-ac1)}

/* Card */
body.nl-dark .light-card, body.nl-dark .card{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  border:1px solid var(--nl-border); border-radius:18px; box-shadow:var(--nl-shadow); color:var(--nl-text);
}
body.nl-dark .event-card .item-title{font-size:18px;line-height:1.25;font-weight:800;overflow-wrap:anywhere;word-break:break-word}
body.nl-dark .event-card .item-sub{font-size:13px;opacity:.9;margin-top:2px}

/* Pulsanti */
body.nl-dark .btn{border-radius:14px;font-weight:600;border-width:1px}
body.nl-dark .btn-primary{
  color:#fff; border:1px solid rgba(255,255,255,.15);
  background:linear-gradient(180deg,var(--nl-ac3),#1677ff);
  box-shadow:0 8px 18px rgba(22,119,255,.35)
}
body.nl-dark .btn-outline-light{color:var(--nl-text);border-color:var(--nl-border);background:rgba(255,255,255,.03)}
body.nl-dark .btn-outline-info{color:var(--nl-text);border-color:var(--nl-border);background:rgba(76,201,240,.06)}
body.nl-dark .btn:focus, body.nl-dark .form-control:focus{
  outline:none; box-shadow:0 0 0 3px rgba(76,201,240,.35); border-color:rgba(76,201,240,.55)
}

/* Azioni card evento (3 pill responsivi) */
body.nl-dark .event-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
@media (max-width:420px){ body.nl-dark .event-actions{grid-template-columns:1fr} }

/* Bottom‑bar glass — più sottile e più opaca */
body.nl-dark .bottom-nav,
body.nl-dark nav.bottom-nav,
body.nl-dark .navbar.bottom-nav{
  position:fixed; left:0; right:0; bottom:0; z-index:1020;
  display:flex; justify-content:space-around; gap:6px;
  background:linear-gradient(180deg, rgba(10,10,20,.80), rgba(10,10,20,.92)) !important; /* meno trasparente */
  backdrop-filter:blur(18px);
  border-top:1px solid var(--nl-border) !important;
  padding:4px 8px 6px !important;     /* <— SOTTILE v1.2 */
}
body.nl-dark .bottom-nav a,
body.nl-dark .navbar.bottom-nav .nav-link{
  flex:1; display:flex; flex-direction:column; align-items:center; gap:3px;
  color:var(--nl-text-weak) !important; text-decoration:none; font-weight:600; font-size:10.75px;
  padding:7px 6px; border-radius:12px;
}
body.nl-dark .bottom-nav a i,
body.nl-dark .navbar.bottom-nav .nav-link i{ font-size:16px; }
body.nl-dark .bottom-nav a.active,
body.nl-dark .navbar.bottom-nav .nav-link.active{
  color:#fff !important;
  background:linear-gradient(180deg, rgba(76,201,240,.16), rgba(67,97,238,.16));
  border:1px solid rgba(255,255,255,.12);
}
/* spazio per la tab bar sottile */
body.nl-dark.page-pad-bottom{ padding-bottom:58px; }

/* Header */
body.nl-dark header .btn{border-color:var(--nl-border);background:rgba(255,255,255,.04);color:#fff}
body.nl-dark header .fw-bold{font-weight:800;letter-spacing:.2px}

/* Badge/contatori più leggibili */
body.nl-dark .badge{border-radius:999px;padding:.45rem .7rem;font-weight:700}
body.nl-dark .badge,
body.nl-dark .btn .badge{
  background:#2b2f44; color:#fff; border:1px solid rgba(255,255,255,.14)
}
body.nl-dark .badge-success{background:#1f8f54}
body.nl-dark .badge-danger{background:#b02a3c}

/* Form scuri + Login card scura */
body.nl-dark .form-label{color:var(--nl-text-weak);font-weight:700}
body.nl-dark .form-control{background:#0f1526;color:#f2f5fb;border:1px solid var(--nl-border);border-radius:14px;padding:12px 14px}
body.nl-dark .form-control::placeholder{color:#a8b0c0}
body.nl-dark .login-card{
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
  border:1px solid var(--nl-border); border-radius:22px; color:var(--nl-text)
}
/* Login: bottone violetto */
body.nl-dark .login-card .btn-primary{
  background:linear-gradient(180deg,var(--nl-v1),var(--nl-v2)) !important;
  border:1px solid rgba(139,92,246,.35);
  box-shadow:0 10px 20px rgba(109,40,217,.35);
  font-size:18px; padding:14px 16px; border-radius:16px;
}

/* Tabelle / liste (Omaggi, Ospiti, Scanner) */
body.nl-dark .table{color:var(--nl-text); background:transparent}
body.nl-dark .table thead th{color:var(--nl-text-weak); border-color:var(--nl-border)}
body.nl-dark .table td, body.nl-dark .table th{border-color:var(--nl-border)}
body.nl-dark .list-group-item{background:rgba(255,255,255,.03); color:var(--nl-text); border-color:var(--nl-border)}
body.nl-dark .modal-content{background:#12142a;color:var(--nl-text);border:1px solid var(--nl-border)}

/* ====== Pagine specifiche ====== */
/* Header compatti su Omaggi/Scanner/Ospiti */
body.nl-dark.page-omaggi h1,
body.nl-dark.page-scanner h1,
body.nl-dark.page-ospiti h1,
body.nl-dark.page-omaggi .page-title,
body.nl-dark.page-scanner .page-title,
body.nl-dark.page-ospiti .page-title{
  font-size:18px!important; line-height:1.25!important; margin:0!important;
  overflow-wrap:anywhere; word-break:break-word; text-wrap:balance;
  color:var(--nl-text)!important;
}

/* Azioni header come griglia sotto al titolo (se presenti) */
body.nl-dark.page-omaggi .page-header,
body.nl-dark.page-scanner .page-header,
body.nl-dark.page-ospiti .page-header{ display:flex; flex-direction:column; gap:10px }
body.nl-dark.page-omaggi .page-header .btn-row,
body.nl-dark.page-scanner .page-header .btn-row,
body.nl-dark.page-ospiti .page-header .btn-row,
body.nl-dark.page-omaggi .page-header .btn-group,
body.nl-dark.page-scanner .page-header .btn-group,
body.nl-dark.page-ospiti .page-header .btn-group{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;
}
@media (max-width:420px){
  body.nl-dark.page-omaggi .page-header .btn-row,
  body.nl-dark.page-scanner .page-header .btn-row,
  body.nl-dark.page-ospiti .page-header .btn-row,
  body.nl-dark.page-omaggi .page-header .btn-group,
  body.nl-dark.page-scanner .page-header .btn-group,
  body.nl-dark.page-ospiti .page-header .btn-group{ grid-template-columns:1fr }
}

/* (Ospiti) se il layout header ha titolo e azioni nello stesso wrapper flex,
   mettiamo le azioni sopra e il titolo sotto per evitare tagli */
body.nl-dark.page-ospiti .page-header.flex-row,
body.nl-dark.page-ospiti header .d-flex{
  flex-direction:column-reverse!important; align-items:stretch!important; gap:10px!important;
}

/* Evita trasparenze della bottom‑bar su queste pagine */
body.nl-dark.page-omaggi .bottom-nav,
body.nl-dark.page-scanner .bottom-nav,
body.nl-dark.page-ospiti .bottom-nav{
  background:linear-gradient(180deg, rgba(10,10,20,.88), rgba(10,10,20,.96)) !important;
}

/* ===== Notlife — Marquee & Ospiti fixes (v1.0) ===== */

/* Marquee: wrapper e traccia */
.nl-marquee-wrap{ position:relative; overflow:hidden; white-space:nowrap; display:block }
.nl-marquee-track{ display:inline-block; white-space:nowrap; will-change:transform }
.nl-marquee-copy{ display:inline-block; padding-right:32px }
.nl-marquee-anim{ animation: nl-marquee var(--marquee-duration,12s) linear infinite }
@keyframes nl-marquee{
  from{ transform: translateX(0) }
  to  { transform: translateX(var(--marquee-translate,-300px)) }
}

/* Titoli evento: base (una riga + ellissi se non scorre) */
.event-card .item-title,
.page-omaggi .page-title,
.page-scanner .page-title,
.page-ospiti .page-title{
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* Nascondi qualunque logo/empty-state al centro della pagina Ospiti */
body.nl-dark.page-ospiti .center-logo,
body.nl-dark.page-ospiti .page-logo,
body.nl-dark.page-ospiti .empty-state img[alt*="Notlife" i],
body.nl-dark.page-ospiti .hero-logo{ display:none!important }

/* Pulsanti coerenti (blu/viola) */
body.nl-dark .btn-primary{ background:linear-gradient(180deg,#2f74ff,#1677ff)!important }
body.nl-dark .btn-accent{ color:#fff; background:linear-gradient(180deg,#8b5cf6,#6d28d9); border:1px solid rgba(139,92,246,.35) }

/* === Notlife – Title tune + Ospiti logo hide (v1.1) === */

/* Titolo "compattato" nelle pagine Omaggi/Scanner (testo un filo più piccolo) */
body.nl-dark .page-omaggi .page-title,
body.nl-dark .page-omaggi .item-title:first-child,
body.nl-dark .page-scanner .page-title,
body.nl-dark .page-scanner .item-title:first-child{
  font-size: clamp(16px, 3.9vw, 20px)!important;
  line-height: 1.2!important;
  letter-spacing: .2px;
}

/* Ospiti: rimuovi qualunque logo/hero al centro pagina */
body.nl-dark.page-ospiti .center-logo,
body.nl-dark.page-ospiti .page-logo,
body.nl-dark.page-ospiti .hero-logo,
body.nl-dark.page-ospiti [class*="hero"] [class*="logo"],
body.nl-dark.page-ospiti header img[alt*="notlife" i]{
  display:none!important;
}
