/* style.css */
:root { --bg:#0b0b0f; --card:#151823; --text:#e6e6f0; --muted:#a2a7b8; --primary:#7c5cff; --border:#222638; }
*{box-sizing:border-box} body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif;background:var(--bg);color:var(--text)}
.container{max-width:1100px;margin:0 auto;padding:16px}
.site-header,.site-footer{background:#0f1220;border-bottom:1px solid var(--border)}
.site-footer{border-top:1px solid var(--border);border-bottom:none;margin-top:32px}
.nav-wrap{display:flex;justify-content:space-between;align-items:center}
.brand{font-weight:700;color:var(--text);text-decoration:none;margin-right:16px}
nav a{color:var(--muted);text-decoration:none;margin-right:12px}
nav a.logout{color:#ff8a8a}
h1,h2{margin-top:0}
.grid-3{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.grid-2{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card{background:var(--card);padding:16px;border:1px solid var(--border);border-radius:16px;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.card.big h2{margin:0 0 6px}
.list{list-style:none;padding:0;margin:0}
.list li{padding:8px 0;border-bottom:1px dashed var(--border)}
.btn{display:inline-block;background:var(--primary);color:#fff;padding:10px 14px;border-radius:12px;text-decoration:none;border:0;cursor:pointer}
.btn.full{width:100%;text-align:center}
.btn.small{padding:6px 10px;border-radius:10px;font-size:.9rem}
.btn.outline{background:transparent;border:1px solid var(--primary);color:var(--primary)}
label{display:block;margin:10px 0}
input,textarea{width:100%;padding:10px;border-radius:10px;border:1px solid var(--border);background:#0f1220;color:var(--text)}
.flash-wrap{margin-bottom:12px}
.flash{padding:10px 12px;border-radius:10px;margin:8px 0}
.flash.success{background:#234b2f;color:#c7f5d3}
.flash.error{background:#4b2323;color:#ffd3d3}
.flash.warning{background:#4b4023;color:#ffedc7}
.muted{color:var(--muted)}
/* Brand + logo */
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-text{font-weight:700;color:var(--text)}
.brand-logo{
  display:block;
  height:50px; width:auto;               /* responsive */
  object-fit:contain;
  border-radius:8px;                      /* se vuoi un look più “card” */
  box-shadow:0 4px 14px rgba(0,0,0,.25);  /* leggero depth */
}

/* Riduci su schermi piccoli */
@media (max-width:640px){
  .brand-logo{height:45px}
}

/* Toggle e offcanvas */
.nav-toggle{
  display:none; /* mostrato solo su mobile */
  background:transparent;border:0;cursor:pointer;
  width:40px;height:40px;border-radius:10px;
  position:relative;
}
.nav-toggle:focus-visible{outline:2px solid var(--primary)}
.nav-toggle-bar{
  position:absolute;left:8px;right:8px;height:2px;background:var(--text);
  border-radius:2px;transition:transform .18s ease, opacity .18s ease, top .18s ease;
}
.nav-toggle-bar:nth-child(1){top:12px}
.nav-toggle-bar:nth-child(2){top:19px}
.nav-toggle-bar:nth-child(3){top:26px}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1){top:19px; transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3){top:19px; transform:rotate(-45deg)}

.nav-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);
  z-index:49;
}
.nav-drawer{
  position:fixed;top:0;right:-320px;height:100%;width:300px;max-width:88%;
  background:#0f1220;border-left:1px solid var(--border);box-shadow:0 0 30px rgba(0,0,0,.4);
  z-index:50;transition:right .22s ease;
  display:flex;flex-direction:column;overflow:hidden;
}
.nav-drawer.open{ right:0 }
.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px;border-bottom:1px solid var(--border)}
.nav-drawer-title{font-weight:700}
.nav-close{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:10px;padding:6px 10px;cursor:pointer}
.nav-drawer-links{display:flex;flex-direction:column;padding:10px;overflow-y:auto}
.nav-drawer-links a{padding:10px 8px;color:var(--text);text-decoration:none;border-radius:10px}
.nav-drawer-links a:hover{background:#151823}

/* Donate strip */
.donate-strip{
  background: linear-gradient(120deg, #7c5cff, #46e6c4);
  border-top: 1px solid rgba(255,255,255,.15);
  margin-top: 24px;
}
.donate-inner{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding: 12px 16px;
}
.donate-copy{ display:flex; align-items:center; gap:10px; color:#0b0b0f; font-weight:500 }
.donate-copy .cup{
  width:28px; height:28px; display:grid; place-items:center;
  background: rgba(255,255,255,.8); border-radius:8px;
}
.donate-btn{
  background:#0b0b0f; color:#fff; border:1px solid rgba(255,255,255,.35);
  box-shadow:0 8px 18px rgba(0,0,0,.25);
}
.donate-btn:hover{ filter:brightness(1.08) }

@media (max-width:640px){
  .donate-inner{ flex-wrap:wrap }
  .donate-btn{ width:100%; text-align:center }
}
