
/* NWC Liste Eventi - Frontend (isolated classes) */
.nwc-le-wrap, .nwc-le-gridwrap{
  --nwc-radius:18px;
  --nwc-soft: rgba(255,255,255,.65);
  --nwc-border: rgba(17,24,39,.10);
  --nwc-shadow: 0 18px 40px rgba(0,0,0,.10);
  font-family: inherit;
  width: 100%;
  max-width: var(--nwc-max, 1320px);
  margin: 26px auto;
  padding: 0 16px;
}

.nwc-le-wrap *{ box-sizing:border-box; }
.nwc-le-card{
  border-radius: var(--nwc-radius);
  background: rgba(255,255,255,.72);
  border: 1px solid var(--nwc-border);
  box-shadow: var(--nwc-shadow);
  overflow:hidden;
}
.nwc-le-hero{ position:relative; }
.nwc-le-hero-inner{
  display:grid;
  grid-template-columns: 1fr;
  gap:0;
}
.nwc-le-cover{
  height: 300px;
  background-size: cover;
  background-position: center;
  position:relative;
}
.nwc-le-cover:after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.25));
  opacity:.35;
}
.nwc-le-cover-empty{
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, rgba(202,253,191,.45), rgba(254,178,190,.38));
}
.nwc-le-cover-empty i{ font-size:44px; color: rgba(17,24,39,.55); }
.nwc-le-hero-content{
  padding: 18px 18px 22px;
  position:relative;
}
.nwc-le-badges{
  display:flex; flex-wrap:wrap; gap:8px;
  margin-bottom: 10px;
}
.nwc-le-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(17,24,39,.06);
  border: 1px solid rgba(17,24,39,.10);
  font-weight: 800;
  font-size: 12px;
  color: rgba(17,24,39,.85);
}
.nwc-le-badge-ok{ background: rgba(34,197,94,.12); border-color: rgba(34,197,94,.25); }
.nwc-le-badge-warn{ background: rgba(245,158,11,.12); border-color: rgba(245,158,11,.25); }

.nwc-le-title{
  margin:0 0 8px;
  font-weight: 900;
  letter-spacing: -.02em;
  font-size: 26px;
  color:#111827;
}
.nwc-le-subtitle{
  display:flex; flex-wrap:wrap; gap:14px;
  color: rgba(17,24,39,.70);
  font-weight: 800;
  margin-bottom: 10px;
}
.nwc-le-desc{
  color: rgba(17,24,39,.78);
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 14px;
}
.nwc-le-progress{
display: none !important;
}
.nwc-le-progress-top{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:12px;
  margin-bottom: 10px;
}
.nwc-le-progress-nums{ display:flex; flex-direction:column; gap:2px; }
.nwc-le-money{ color:#111827; font-weight:900; }
.nwc-le-money-muted{ color: rgba(17,24,39,.70); font-weight: 800; font-size: 12px; }
.nwc-le-progress-pct{
  font-weight: 900;
  font-size: 16px;
  color:#111827;
  background: linear-gradient(90deg, var(--nwc-grad1), var(--nwc-grad2));
  padding: 8px 10px;
  display:inline-flex;
  align-items:center;
  white-space: nowrap;
}

.nwc-le-bar{
  width:100%;
  height: 12px;
  background: rgba(17,24,39,.10);
  border-radius: 999px;
  overflow:hidden;
}
.nwc-le-bar-fill{
  height:100%;
  width:0;
  background: linear-gradient(90deg, var(--nwc-grad1), var(--nwc-grad2));
  border-radius:999px;
}

.nwc-le-donate{ margin-top: 14px; }
.nwc-le-h3{
  margin:0 0 10px;
  font-size: 16px;
  font-weight: 900;
  color:#111827;
  display:flex; align-items:center; gap:10px;
}
.nwc-le-presets{
  display:flex; flex-wrap:wrap; gap:10px;
  margin: 0 0 12px;
}
.nwc-le-chip{
  cursor:pointer;
  border-radius: 999px;
  padding: 10px 12px;
  border: 1px solid rgba(17,24,39,.12);
  background: rgba(255,255,255,.70);
  font-weight: 900;
  color:#111827;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.nwc-le-chip:hover{ transform: translateY(-1px); box-shadow: 0 12px 24px rgba(0,0,0,.10); }
.nwc-le-chip.is-active{
  background: linear-gradient(90deg, var(--nwc-grad1), var(--nwc-grad2));
}

.nwc-le-form .nwc-le-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}
.nwc-le-field{ display:flex; flex-direction:column; gap:6px; }
.nwc-le-field label{ font-weight: 900; color:#111827; font-size:13px; }
.nwc-le-field small{ color: rgba(17,24,39,.65); font-weight: 800; font-size: 12px; }
.nwc-le-input-wrap{
  position:relative;
}
.nwc-le-input-wrap i{
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  color: rgba(17,24,39,.55);
}
.nwc-le-input-wrap input{
  width:100%;
  padding: 12px 12px 12px 36px;
  border-radius: 14px;
  border: 1px solid rgba(17,24,39,.12);
  background: rgba(255,255,255,.70);
  font-weight: 800;
  outline: none;
}
.nwc-le-field textarea{
  width:100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(17,24,39,.12);
  background: rgba(255,255,255,.70);
  font-weight: 700;
  outline: none;
  resize: vertical;
}

.nwc-le-input-wrap input:focus, .nwc-le-field textarea:focus{
  border-color: rgba(124,58,237,.35);
  box-shadow: 0 0 0 4px rgba(124,58,237,.12);
}
.nwc-le-field-full{ grid-column: span 2; }

.nwc-le-check{
  display:flex; align-items:flex-start; gap:10px;
  font-weight: 800; color: rgba(17,24,39,.80);
}
.nwc-le-check input{ margin-top:3px; }

.nwc-le-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(17,24,39,.12);
  background: rgba(255,255,255,.55);
  font-weight: 900;
  color:#111827;
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.nwc-le-btn:hover{ transform: translateY(-1px); box-shadow: 0 12px 24px rgba(0,0,0,.10); }
.nwc-le-btn-primary{
  width:100%;
  margin-top: 12px;
  background: linear-gradient(90deg, var(--nwc-grad1), var(--nwc-grad2));
}
.nwc-le-btn-dark{ background:#111827; color:#fff; border-color: rgba(255,255,255,.10); }
.nwc-le-btn-ghost{ background: rgba(17,24,39,.03); }
.nwc-le-btn-loader{
  width: 18px; height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(17,24,39,.25);
  border-top-color: rgba(17,24,39,.70);
  display:none;
  animation: nwcSpin .8s linear infinite;
}
.nwc-le-btn.is-loading .nwc-le-btn-loader{ display:inline-block; }
.nwc-le-btn.is-loading .nwc-le-btn-text{ opacity:.65; }

@keyframes nwcSpin{ to{ transform: rotate(360deg); } }

.nwc-le-alert{
  margin-top: 12px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(17,24,39,.12);
  background: rgba(255,255,255,.65);
  display:flex; gap:12px; align-items:flex-start;
}
.nwc-le-alert-icon{
  width:40px; height:40px;
  border-radius: 14px;
  background: rgba(17,24,39,.06);
  display:flex; align-items:center; justify-content:center;
  color: rgba(17,24,39,.70);
  flex:0 0 auto;
}
.nwc-le-alert-ok{ background: rgba(34,197,94,.10); border-color: rgba(34,197,94,.20); }
.nwc-le-alert-warn{ background: rgba(245,158,11,.10); border-color: rgba(245,158,11,.20); }
.nwc-le-alert-title{ font-weight: 900; color:#111827; margin-bottom:4px; }
.nwc-le-alert-text{ font-weight: 800; color: rgba(17,24,39,.75); }
.nwc-le-alert-actions{ margin-top:10px; display:flex; gap:10px; flex-wrap:wrap; }

.nwc-le-inline-error, .nwc-le-inline-msg{ display:none; }

.nwc-le-gridcards{
  display:grid;
  grid-template-columns: repeat(var(--nwc-grid-cols, 4), minmax(0,1fr));
  gap: 12px;
}
.nwc-le-cardlink{ color: inherit; display:flex; flex-direction:column; }
.nwc-le-cardthumb{
  height: 170px;
  background-size: cover;
  background-position: center;
  background: linear-gradient(135deg, rgba(202,253,191,.45), rgba(254,178,190,.38));
  display:flex; align-items:center; justify-content:center;
}
.nwc-le-cardthumb i{ font-size:34px; color: rgba(17,24,39,.55); }
.nwc-le-cardbody{ padding: 14px; }
.nwc-le-cardmeta{ display:flex; gap:12px; flex-wrap:wrap; color: rgba(17,24,39,.70); font-weight: 800; font-size: 12px; margin-bottom:8px; }
.nwc-le-cardtitle{ font-weight: 900; color:#111827; font-size: 15px; margin-bottom:6px; }
.nwc-le-cardowner{ color: rgba(17,24,39,.70); font-weight: 800; display:flex; gap:8px; align-items:center; }
.nwc-le-mini{ margin-top:10px; padding:10px; border-radius: 16px; border:1px solid rgba(17,24,39,.08); background: rgba(17,24,39,.03); }
.nwc-le-mini-row{ display:flex; justify-content:space-between; align-items:center; gap:10px; font-weight:900; color:#111827; }
.nwc-le-mini-muted{ color: rgba(17,24,39,.70); font-weight:800; font-size:12px; }
.nwc-le-mini-pct{ background: rgba(17,24,39,.06); padding:6px 10px; border-radius:999px; border:1px solid rgba(17,24,39,.10); }

.nwc-le-bar-sm{ height: 8px; margin-top: 8px; }

.nwc-le-accounthead{ padding: 16px; margin-bottom: 12px; }
.nwc-le-subnote{ margin:8px 0 0; color: rgba(17,24,39,.72); font-weight:800; }
.nwc-le-gridcards-account{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.nwc-le-linkrow{ margin-top:10px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.nwc-le-link{
  display:inline-flex; gap:8px; align-items:center;
  padding:8px 10px;
  border-radius: 12px;
  background: rgba(17,24,39,.04);
  border:1px solid rgba(17,24,39,.08);
  color: rgba(17,24,39,.85);
  font-weight: 800;
  word-break: break-all;
}
.nwc-le-gifts{ margin-top: 12px; }
.nwc-le-gifts-head{ font-weight: 900; color:#111827; display:flex; gap:10px; align-items:center; margin-bottom: 8px; }
.nwc-le-giftlist{ display:flex; flex-direction:column; gap:8px; }
.nwc-le-giftitem{
  padding:10px 10px;
  border-radius: 14px;
  border:1px solid rgba(17,24,39,.08);
  background: rgba(255,255,255,.60);
  display:flex; gap:10px;
}
.nwc-le-giftamount{ font-weight: 900; color:#111827; white-space:nowrap; }
.nwc-le-giftmsg{ font-weight: 800; color: rgba(17,24,39,.75); }
.nwc-le-gift-empty{ color: rgba(17,24,39,.65); font-weight: 800; }

.nwc-le-toastbox{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 99999;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.nwc-le-toastitem{
  min-width: 280px;
  max-width: 360px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(17,24,39,.10);
  background: rgba(255,255,255,.92);
  box-shadow: 0 16px 35px rgba(0,0,0,.18);
  color:#111827;
  font-weight:900;
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.nwc-le-toastitem i{ margin-top:2px; }
.nwc-le-toastitem .sub{ font-weight:800; color: rgba(17,24,39,.70); font-size:12px; margin-top:2px; }

@media (max-width: 1024px){
  .nwc-le-gridcards{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .nwc-le-cover{ height: 240px; }
}
@media (max-width: 560px){
  .nwc-le-gridcards{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .nwc-le-form .nwc-le-grid{ grid-template-columns: 1fr; }
  .nwc-le-field-full{ grid-column: span 1; }
  .nwc-le-progress-top{ flex-direction:column; align-items:flex-start; }
}

@media (max-width: 420px){
  .nwc-le-gridcards{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
input {
    text-indent: 14px !important;
}