/* Modulo del deposito bagagli (componente condiviso). Colori regolabili dalla pagina che lo ospita con le variabili --bgf-*. */
.bgf{
  --bgf-card:#fff; --bgf-ink:#182430; --bgf-muted:#5b6673; --bgf-line:#e4ddd1; --bgf-field:#fff;
  --bgf-accent:#e9b63b; --bgf-accent-ink:#17181b; --bgf-wa:#1faa59; --bgf-wa-ink:#fff; --bgf-err:#b91c1c; --bgf-ok:#0f7a45;
  --bgf-radius:16px; --bgf-font:inherit;
  display:grid; gap:12px; color:var(--bgf-ink); font-family:var(--bgf-font); text-align:left; width:100%;
}
.bgf *,.bgf *::before,.bgf *::after{box-sizing:border-box}
.bgf{position:relative}
.bgf [hidden]{display:none!important}
.bgf-box{margin:0; padding:16px; border:1px solid var(--bgf-line); border-radius:var(--bgf-radius); background:var(--bgf-card); box-shadow:0 2px 10px rgba(16,24,40,.06); min-width:0}
.bgf-h{float:left; width:100%; padding:0; margin:0 0 10px; font-weight:800; font-size:.95rem; color:var(--bgf-ink)}
.bgf-box>.bgf-h+*{clear:both}
.bgf-row{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.bgf-f{display:flex; flex-direction:column; gap:6px; margin:0 0 10px; min-width:0}
.bgf-f>span{font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--bgf-muted)}
.bgf input[type=date],.bgf input[type=text],.bgf input[type=tel],.bgf input[type=email],.bgf select,.bgf textarea{
  width:100%; min-height:48px; padding:11px 13px; border:1.5px solid var(--bgf-line); border-radius:12px;
  background:var(--bgf-field); color:var(--bgf-ink); font-family:inherit; font-size:1rem; font-weight:500; line-height:1.3; -webkit-appearance:none; appearance:none; margin:0}
.bgf select{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 19px) 55%,calc(100% - 13px) 55%; background-size:6px 6px; background-repeat:no-repeat; padding-right:34px}
.bgf textarea{min-height:0; resize:vertical}
/* telefono con prefisso (intl-tel-input): tutta la larghezza, come gli altri campi */
.bgf .iti{display:block; width:100%}
.bgf .iti__country-list{z-index:30; color:#17181b}
.bgf input:focus,.bgf select:focus,.bgf textarea:focus{outline:none; border-color:var(--bgf-accent); box-shadow:0 0 0 3px rgba(233,182,59,.28)}
.bgf-hint{margin:0; font-size:.82rem; color:var(--bgf-muted)}
.bgf-stepper{display:flex; align-items:center; gap:12px; margin-bottom:12px}
.bgf-st{width:48px; height:48px; border-radius:50%; border:1.5px solid var(--bgf-line); background:var(--bgf-field); color:var(--bgf-ink); font-family:inherit; font-size:1.4rem; font-weight:700; line-height:1; cursor:pointer}
.bgf-st:disabled{opacity:.35; cursor:default}
.bgf-st:focus-visible,.bgf-send:focus-visible{outline:3px solid var(--bgf-accent); outline-offset:2px}
.bgf-count{min-width:34px; text-align:center; font-weight:800; font-size:1.7rem}
.bgf-check{display:flex; align-items:flex-start; gap:10px; font-size:.92rem; line-height:1.45; cursor:pointer; margin:0 0 6px}
.bgf-check input{width:22px; height:22px; flex:0 0 22px; margin:1px 0 0; accent-color:var(--bgf-wa)}
.bgf-check b{color:var(--bgf-ok)}
.bgf-total{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 16px; border-radius:var(--bgf-radius); background:var(--bgf-card); border:1px solid var(--bgf-line)}
.bgf-total-l{display:block; font-weight:800; font-size:.9rem}
.bgf-total-d{display:block; font-size:.82rem; color:var(--bgf-muted)}
.bgf-total-v{font-weight:900; font-size:1.8rem; color:var(--bgf-ok)}
.bgf-msg{margin:0; min-height:1.2em; font-weight:600; color:var(--bgf-err)}
.bgf-msg.ok{color:var(--bgf-ok)}
.bgf-send{display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:54px; padding:0 20px; border:0; border-radius:999px;
  background:var(--bgf-accent); color:var(--bgf-accent-ink); font-family:inherit; font-size:1.02rem; font-weight:800; cursor:pointer; box-shadow:0 6px 18px rgba(233,182,59,.3)}
.bgf-send:hover{filter:brightness(1.05)}
.bgf-send:disabled{opacity:.6; cursor:default; box-shadow:none}
.bgf-note{margin:0; text-align:center; font-size:.84rem; color:var(--bgf-muted)}
.bgf-small{font-size:.76rem}
@media (max-width:480px){
  .bgf-row{grid-template-columns:1fr; gap:0}
  .bgf-box{padding:14px}
}

/* ── Prenotazione online (posti, avviso noleggio, campo trappola) ────────── */
.bgf-posti{margin:6px 0 0; font-size:.86rem; font-weight:700; color:var(--bgf-ok)}
.bgf-posti.pieno{color:var(--bgf-err)}
/* avviso noleggio (senza campi) e nota sullo sconto accanto al totale */
.bgf-info{background:var(--bgf-card); border-style:dashed}
.bgf-info p{margin:0; font-size:.9rem; line-height:1.45}
.bgf-sconto{margin:-4px 0 0; font-size:.82rem; color:var(--bgf-muted); text-align:right}
.bgf-check a{color:inherit; text-underline-offset:2px}
.bgf-walink{color:var(--bgf-wa); font-weight:700; white-space:nowrap}
/* Campo invisibile alle persone e compilato dai bot: fuori schermo, non display:none. */
.bgf-trappola{position:absolute; left:-9999px; top:0; width:1px; height:1px; overflow:hidden}

/* Prenotazioni del deposito sospese: al posto dei campi, l'avviso e WhatsApp. */
.bgf-sospeso{display:grid;gap:14px;justify-items:center;text-align:center;padding:26px 18px;
  background:var(--bgf-card,#fff);border:1px solid var(--bgf-line,#e4ddd1);border-radius:16px}
.bgf-sospeso-t{margin:0;font:800 1.02rem/1.45 var(--bgf-font,inherit);color:var(--bgf-ink,#182430);max-width:34ch}
.bgf-sospeso .bgf-walink{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;
  border-radius:99px;text-decoration:none;font-weight:800}
