/* =========================================================
   Configuratore eventi — /eventi
   Stile in linea con il resto del sito: card, oro e nero.
   ========================================================= */

/* --------------------------- campi comuni --------------------------- */
.fld{display:block;margin-bottom:12px}
.fld > span{display:block;font-size:.83rem;font-weight:650;margin-bottom:5px}
.fld > span b{float:right;font-weight:750;color:var(--brand-ink)}
.fld input,.fld textarea{
  width:100%;padding:11px 12px;border:1.5px solid var(--line);border-radius:12px;
  background:var(--paper);min-height:46px;font:inherit;color:var(--txt);-webkit-appearance:none;
}
.fld textarea{min-height:78px;resize:vertical}
.fld input:focus-visible,.fld textarea:focus-visible{outline:2px solid var(--amber);outline-offset:1px}
.fld input:user-invalid,.fld textarea:user-invalid{border-color:#b3261e}
.fld-range input[type=range]{padding:0;min-height:0;border:0;background:transparent;accent-color:var(--amber)}

.card-lite{
  background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);
  padding:18px;box-shadow:var(--sh-1,0 10px 30px -22px rgba(0,0,0,.5));
}

/* --------------------------- tipo di evento --------------------------- */
.ev-types{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.ev-type{
  display:flex;flex-direction:column;gap:6px;text-align:left;cursor:pointer;
  background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);
  padding:16px 16px 14px;font:inherit;color:var(--txt);
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.ev-type:hover{transform:translateY(-2px);border-color:var(--amber)}
.ev-type b{font-size:1.05rem;letter-spacing:-.01em}
.ev-type span{font-size:.85rem;color:var(--muted);line-height:1.5;flex:1}
.ev-type em{font-style:normal;font-size:.82rem;font-weight:750;color:var(--brand-ink)}
.ev-type.is-on{
  border-color:var(--amber);background:var(--ink);color:var(--on-dark);
  box-shadow:0 14px 34px -22px rgba(0,0,0,.85);
}
.ev-type.is-on span{color:var(--on-dark-2)}
.ev-type.is-on em{color:var(--brand-light)}

/* --------------------------- dettagli --------------------------- */
.ev-details{display:grid;gap:0 18px;margin-top:14px}
@media (min-width:760px){.ev-details{grid-template-columns:repeat(3,1fr)}}
.ev-flags{display:flex;flex-wrap:wrap;gap:10px;grid-column:1/-1;margin-top:2px}
.ev-flag{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  padding:9px 14px;border:1.5px solid var(--line);border-radius:999px;
  background:var(--paper);font-size:.86rem;font-weight:600;
}
.ev-flag input{accent-color:var(--amber);width:17px;height:17px}
.ev-flag:has(input:checked){border-color:var(--amber);background:var(--amber-soft);color:var(--brand-ink)}

/* --------------------------- servizi --------------------------- */
.ev-layout{display:grid;gap:20px;margin-top:16px}
@media (min-width:980px){
  .ev-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start}
  .ev-side{position:sticky;top:84px}
}
.ev-cat{margin-bottom:22px}
.ev-cat h3{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-ink);
  margin-bottom:10px;
}
.ev-cat h3 em{font-style:normal;letter-spacing:0;text-transform:none;font-size:.82rem;color:var(--muted);font-weight:450}
.ev-list{display:grid;gap:10px}
@media (min-width:620px){.ev-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

.ev-item{
  display:flex;align-items:flex-start;gap:12px;cursor:pointer;
  background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);
  padding:14px;transition:border-color .16s ease,background .16s ease;
}
.ev-item:hover{border-color:var(--line-2)}
.ev-item input{position:absolute;opacity:0;width:0;height:0}
.ev-box{
  flex:0 0 auto;width:20px;height:20px;margin-top:2px;border-radius:6px;
  border:2px solid var(--line-2);background:var(--paper);position:relative;transition:.16s ease;
}
.ev-item.on{border-color:var(--amber);background:linear-gradient(180deg,var(--amber-soft),var(--paper))}
.ev-item.on .ev-box{background:var(--amber);border-color:var(--amber)}
.ev-item.on .ev-box::after{
  content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
  border:solid var(--amber-on);border-width:0 2.4px 2.4px 0;transform:rotate(42deg);
}
.ev-txt{flex:1;min-width:0}
.ev-txt b{display:block;font-size:.96rem;line-height:1.3}
.ev-txt span{display:block;font-size:.82rem;color:var(--muted);line-height:1.5;margin-top:3px}
.ev-price{
  flex:0 0 auto;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap;
  color:var(--brand-ink);font-size:.92rem;text-align:right;
}
.ev-price i{display:block;font-style:normal;font-size:.7rem;color:var(--muted);font-weight:500}

/* --------------------------- riepilogo --------------------------- */
.ev-quote{
  background:var(--paper);border:1.5px solid var(--line-2);border-radius:var(--r);
  padding:20px;box-shadow:0 20px 44px -30px rgba(0,0,0,.6);
}
.ev-quote h3{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:12px}
.ev-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ev-chips span{
  font-size:.74rem;font-weight:600;padding:4px 10px;border-radius:999px;
  background:var(--amber-soft);color:var(--brand-ink);border:1px solid rgba(var(--brand-rgb),.28);
}
.ev-chips .empty{background:transparent;border:1px dashed var(--line-2);color:var(--muted);font-weight:450}
.ev-tot{
  display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;
  padding:14px 16px;background:var(--ink);color:var(--on-dark);border-radius:var(--r-s);
}
.ev-tot span{font-size:.82rem;color:var(--on-dark-2)}
.ev-tot strong{font-size:1.55rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--brand-light)}
.ev-net{font-size:.78rem;color:var(--muted);margin-top:8px;text-align:right}
.ev-note{font-size:.76rem;color:var(--muted);line-height:1.5;margin-top:12px}
.ev-form{margin-top:16px;border-top:1px dashed var(--line);padding-top:16px}
.ev-alt{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ev-alt .btn{flex:1 1 auto}

@media (max-width:979px){
  .ev-side{margin-bottom:74px}
}

/* --------------------------- voce "Altro": service su misura --------------------------- */
.ev-item.ev-custom{flex-direction:column;align-items:stretch;gap:10px;cursor:default;
  border-style:dashed;border-color:var(--line-2)}
.ev-item.ev-custom.on{border-style:solid;border-color:var(--amber)}
.ev-custom-top{display:flex;align-items:flex-start;gap:12px}
.ev-custom .ev-txt b{font-size:1rem}
.ev-custom-act{display:flex;gap:8px;flex-wrap:wrap}
.ev-custom-act .btn{flex:1 1 auto}
.ev-custom-val{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  background:var(--amber-soft);border:1px solid rgba(var(--brand-rgb),.28);
  border-radius:12px;padding:10px 12px;font-size:.86rem;
}
.ev-custom-val b{font-size:1.05rem;color:var(--brand-ink);font-variant-numeric:tabular-nums}
.ev-custom-val s{color:var(--muted);font-size:.8rem}

/* --------------------------- finestra del configuratore service --------------------------- */
.ev-modal{
  position:fixed;inset:0;z-index:120;display:none;
  background:rgba(8,8,10,.72);backdrop-filter:blur(3px);
  padding:min(4vh,28px) min(3vw,22px);
}
.ev-modal.open{display:flex;align-items:center;justify-content:center}
.ev-modal-box{
  background:var(--paper);border-radius:var(--r);width:min(1180px,100%);height:100%;
  display:flex;flex-direction:column;overflow:hidden;box-shadow:0 40px 90px -40px rgba(0,0,0,.9);
}
.ev-modal-h{
  display:flex;align-items:center;gap:12px;padding:12px 16px;
  background:var(--ink);color:var(--on-dark);
}
.ev-modal-h b{font-size:.98rem}
.ev-modal-h span{font-size:.8rem;color:var(--on-dark-2);margin-right:auto}
.ev-modal-x{
  background:none;border:1px solid rgba(255,255,255,.2);color:var(--on-dark);
  width:34px;height:34px;border-radius:50%;font-size:1rem;cursor:pointer;line-height:1;
}
.ev-modal-x:hover{border-color:var(--brand-light);color:var(--brand-light)}
.ev-modal iframe{flex:1;width:100%;border:0;background:var(--sand)}
@media (max-width:620px){
  .ev-modal{padding:0}
  .ev-modal-box{border-radius:0}
}

/* su schermo largo il riepilogo e' gia' sempre in vista: la barra non serve */
@media (min-width:980px){ #evBar{display:none} }
