.su-prenota{
  --black:#000;--muted:#5c5c5c;--line:#e1e1e1;--bg:#f7f7f7;--red:#a94442;--redbg:#ebccd1;
  font-family:Outfit,Inter,system-ui,sans-serif;color:#000;background:#f7f7f7;
  max-width:860px;margin:0 auto;padding:12px 16px 64px
}
.su-prenota *{box-sizing:border-box}
.su-prenota ul{list-style:none;margin:0;padding:0}
.su-prenota a{text-decoration:none}
.su-p-intro{text-align:center;padding:8px 0 6px}
.su-p-intro img{height:72px;width:auto;margin:0 auto 10px;display:block}
.su-p-intro h1,.su-p-intro h2.big{
  font-weight:300;font-size:clamp(1.7rem,4vw,2.4rem);margin:0
}
.su-p-steps{display:flex;padding:22px 0 8px}
.su-p-steps li{width:33.33%;display:flex;flex-wrap:wrap;justify-content:center;position:relative}
.su-p-steps li .num{
  width:32px;height:32px;line-height:32px;border-radius:50px;background:#999;color:#fff;
  text-align:center;font-size:16px;position:relative;z-index:2;margin-bottom:6px
}
.su-p-steps li.active .num{background:#000}
.su-p-steps li.done .num{background:#000}
.su-p-steps li .lab{width:100%;text-align:center;font-size:14px;line-height:20px}
.su-p-steps li:not(:first-child):before,
.su-p-steps li:not(:last-child):after{
  content:"";height:1px;width:50%;background:#e1e1e1;position:absolute;top:16px
}
.su-p-steps li:not(:first-child):before{left:0}
.su-p-steps li:not(:last-child):after{right:0}
.su-p-panel h2{font-weight:300;font-size:1.45rem;margin:18px 0 20px}
.su-p-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.su-p-field label{display:block;font-size:14px;margin-bottom:8px;font-weight:400}
.su-p-field label span{color:#c71616}
.su-p-field input[type=text],
.su-p-field input[type=email],
.su-p-field input[type=tel],
.su-p-field input[type=date],
.su-p-field input[type=time],
.su-p-field textarea{
  width:100%;height:45px;border:1px solid #d3d3d3;border-radius:3px;background:#fff;
  padding:0 14px;font:300 15px Outfit,sans-serif;box-shadow:1px 1px 15px rgba(0,0,0,.05);color:#000
}
.su-p-field textarea{height:110px;padding:12px 14px;resize:vertical}
.su-p-qty{position:relative}
.su-p-qty input{text-align:center;padding:0 40px}
.su-p-qty button{
  position:absolute;top:50%;width:32px;height:32px;border:0;background:#e1e1e1;color:#000;
  border-radius:3px;cursor:pointer;font-size:20px;line-height:1
}
.su-p-qty .minus{left:6px;transform:translateY(-50%)}
.su-p-qty .plus{right:6px;transform:translateY(-50%)}
.su-p-rooms,.su-p-times{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.su-p-rooms button,.su-p-times button{
  border:0;background:#e1e1e1;color:#000;border-radius:5px;padding:10px 20px;font:300 16px Outfit,sans-serif;cursor:pointer
}
.su-p-times button{width:80px;padding:7px 8px}
.su-p-rooms button:hover,.su-p-times button:hover{background:#999;color:#fff}
.su-p-rooms button.is-on,.su-p-times button.is-on{background:#000;color:#fff}
.su-p-band{width:100%;text-align:center;font-weight:700;font-size:16px;margin:10px 0 2px}
.su-p-msg{
  width:100%;text-align:center;padding:10px 20px;background:#ebccd1;color:#a94442;
  font-size:16px;line-height:22px;border-radius:5px;font-weight:700
}
.su-p-msg p{font-weight:400;margin:10px 0 0;color:#000}
.su-p-closed{margin:12px 0 8px}
.su-p-closed p{margin:0;font-weight:600;color:#a94442}
.su-p-actions{display:flex;justify-content:center;gap:12px;margin-top:28px;flex-wrap:wrap}
.su-p-btn{
  min-width:180px;height:46px;padding:0 22px;border-radius:3px;border:1px solid #000;
  background:#000;color:#fff;font:400 16px Outfit,sans-serif;cursor:pointer
}
.su-p-btn.ghost{background:transparent;color:#000}
.su-p-btn:disabled{opacity:.45;cursor:wait}
.su-p-check{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:15px;line-height:1.45;font-weight:300}
.su-p-check input{margin-top:4px}
.su-p-sum{background:#fff;border-radius:5px;padding:8px 20px;box-shadow:1px 1px 15px rgba(0,0,0,.05)}
.su-p-sum div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e1e1e1;font-size:16px}
.su-p-sum div:last-child{border:0}
.su-p-sum dt{color:#5c5c5c;font-weight:300}
.su-p-sum dd{margin:0;font-weight:600;text-align:right}
.su-p-ok{text-align:center;padding:28px 8px 8px}
.su-p-ok h2{font-size:2rem}
.su-p-err{color:#a94442;text-align:center;margin-top:12px;font-weight:600}
.su-p-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.su-p-note{text-align:center;color:#5c5c5c;font-size:14px;margin-top:18px;font-weight:300}
@media (max-width:640px){
  .su-p-grid{grid-template-columns:1fr}
  .su-p-steps li .lab{font-size:12px}
  .su-p-intro img{height:58px}
}
