/* Oktoberfest Genova — Area VIP : form pubblico */
.avip{
  --avip-ink:#12293D; --avip-mut:#5B6B79; --avip-line:#DFE5EA; --avip-paper:#fff;
  font-family:inherit; color:var(--avip-ink); max-width:760px; margin:0 auto; text-align:left;
}
.avip *{box-sizing:border-box;}
.avip-card{background:var(--avip-paper);border:1px solid var(--avip-line);border-radius:16px;padding:8px 28px 28px;box-shadow:0 18px 40px -28px rgba(18,41,61,.45);}
.avip-step{padding:22px 0;border-bottom:1px solid var(--avip-line);}
.avip-step:last-child{border-bottom:0;padding-bottom:4px;}
.avip-step-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.avip-step-head h3{margin:0;font-size:19px;line-height:1.2;font-weight:700;color:var(--avip-ink);}
.avip-num{flex:0 0 26px;height:26px;border-radius:50%;background:var(--avip-accent);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.avip-hint{margin:8px 0 0;font-size:13.5px;line-height:1.5;color:var(--avip-mut);}
.avip-collapsible[hidden]{display:none;}

/* avviso "non è ancora una conferma" */
.avip-warn{display:flex;gap:14px;align-items:flex-start;border-radius:13px;padding:16px 18px;background:#FFF3D6;border:1px solid #EBC873;}
.avip-warn-top{margin:22px 0 4px;}
.avip-warn-ico{flex:0 0 34px;height:34px;border-radius:50%;background:#E9A317;color:#fff;font-size:19px;font-weight:800;line-height:34px;text-align:center;}
.avip-warn strong{display:block;font-size:18px;line-height:1.3;color:#6B4B08;}
.avip-warn p{margin:5px 0 0;font-size:15.5px;line-height:1.55;color:#7A5A18;}
.avip-warn b{font-weight:700;color:#5A3D04;}
.avip-warn-big{margin-top:22px;padding:20px 22px;background:#FFEFCB;}
.avip-warn-big strong{font-size:21px;}
.avip-warn-big p{font-size:16.5px;}

/* persone */
.avip-pax{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.avip-pax-btn{width:44px;height:44px;border-radius:10px;border:1px solid var(--avip-line);background:#fff;font-size:22px;line-height:1;color:var(--avip-ink);cursor:pointer;transition:.15s;}
.avip-pax-btn:hover{border-color:var(--avip-accent);color:var(--avip-accent);}
.avip-pax-val{display:flex;align-items:baseline;gap:8px;min-width:120px;}
.avip-pax-val span{font-size:34px;font-weight:800;line-height:1;}
.avip-pax-val small{font-size:14px;color:var(--avip-mut);}
.avip-pax .avip-hint{flex:1 1 100%;margin:0;}
.avip-biggroup{margin-top:18px;padding:18px 20px;border-radius:12px;background:#FFF7E8;border:1px solid #F0D9A8;}
.avip-biggroup strong{display:block;font-size:16px;margin-bottom:6px;}
.avip-biggroup p{margin:0 0 14px;font-size:14.5px;line-height:1.6;color:#5A4A2E;}
.avip-btn-ghost{display:inline-block;padding:10px 16px;border-radius:9px;border:1px solid var(--avip-accent);color:var(--avip-accent);text-decoration:none;font-weight:600;font-size:14px;}

/* giorni */
.avip-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;}
.avip-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 4px;border-radius:11px;border:1px solid var(--avip-line);background:#fff;cursor:pointer;transition:.15s;}
.avip-day-dow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--avip-mut);}
.avip-day-num{font-size:19px;font-weight:700;line-height:1.1;}
.avip-day:hover:not(.is-off){border-color:var(--avip-accent);}
.avip-day.is-sel{background:var(--avip-accent);border-color:var(--avip-accent);}
.avip-day.is-sel .avip-day-dow{color:rgba(255,255,255,.85);}
.avip-day.is-sel .avip-day-num{color:#fff;}
.avip-day.is-off{opacity:.35;cursor:not-allowed;background:#F6F7F9;}
.avip-closed{margin:0 0 14px;padding:12px 14px;border-radius:10px;background:#FBE9E6;color:#8A2C20;font-size:14px;line-height:1.55;}

/* orari */
.avip-slots{display:flex;flex-wrap:wrap;gap:8px;}
.avip-slot{padding:11px 18px;border-radius:10px;border:1px solid var(--avip-line);background:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:.15s;color:var(--avip-ink);}
.avip-slot:hover{border-color:var(--avip-accent);}
.avip-slot.is-sel{background:var(--avip-accent);border-color:var(--avip-accent);color:#fff;}
.avip-slot small{display:block;font-size:11px;font-weight:500;opacity:.7;letter-spacing:.06em;text-transform:uppercase;}

/* dati */
.avip-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.avip-full{grid-column:1/-1;}
.avip-field{display:flex;flex-direction:column;gap:6px;}
.avip-field span{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--avip-mut);}
.avip-field em{font-style:normal;font-weight:400;}
.avip-field input,.avip-field textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--avip-line);background:#fff;font-family:inherit;font-size:15.5px;color:var(--avip-ink);}
.avip-field input:focus,.avip-field textarea:focus{outline:none;border-color:var(--avip-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--avip-accent) 18%,transparent);}
.avip-check{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:14px;line-height:1.5;color:var(--avip-mut);cursor:pointer;}
.avip-check input{margin-top:3px;width:17px;height:17px;accent-color:var(--avip-accent);flex:0 0 auto;}
.avip-check em{font-style:normal;opacity:.75;}
.avip-field-help{font-style:normal;font-size:13px;line-height:1.55;color:var(--avip-mut);}
.avip-hp{position:absolute;left:-9999px;height:0;overflow:hidden;}

.avip-submit{display:flex;flex-direction:column;gap:0;align-items:flex-start;margin-top:18px;}
.avip-btn{padding:15px 30px;border-radius:11px;border:0;background:var(--avip-accent);color:#fff;font-family:inherit;font-size:16px;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:.15s;}
.avip-btn:hover{filter:brightness(1.07);}
.avip-btn[disabled]{opacity:.55;cursor:default;}
.avip-error{margin-top:14px;padding:12px 14px;border-radius:10px;background:#FBE6E3;color:#A3271A;font-size:14.5px;}

/* conferma */
.avip-done{text-align:center;padding:44px 28px;}
.avip-done-mark{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:#E4F4EA;color:#2E8B57;font-size:28px;display:flex;align-items:center;justify-content:center;}
.avip-done h3{margin:0 0 10px;font-size:24px;}
.avip-done p{margin:0 auto 8px;max-width:460px;font-size:15.5px;line-height:1.6;color:var(--avip-mut);}
.avip-done strong{font-size:20px;letter-spacing:.06em;color:var(--avip-ink);}

@media (max-width:600px){
  .avip-card{padding:4px 18px 22px;}
  .avip-grid{grid-template-columns:1fr;}
  .avip-days{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));}
  .avip-btn{width:100%;}
}

/* campo da correggere: bordo rosso finché non lo si tocca */
.avip-field.is-wrong input,.avip-field.is-wrong textarea{border-color:#C0392B;box-shadow:0 0 0 3px rgba(192,57,43,.14);}
.avip-check.is-wrong{color:#A3271A;}
.avip-check.is-wrong input{outline:2px solid #C0392B;outline-offset:2px;}
.avip-step.is-wrong .avip-days,.avip-step.is-wrong .avip-slots{border-radius:12px;box-shadow:0 0 0 3px rgba(192,57,43,.18);}
.avip-pax.is-wrong{border-radius:12px;box-shadow:0 0 0 3px rgba(192,57,43,.18);}
