/* ══════════════════════════════
   VBT Booking Widget v2
══════════════════════════════ */
.vbt-widget{
    background:#fff;
    border:1.5px solid #e8e6e0;
    border-radius:10px;
    padding:22px 24px;
    margin:24px 0;
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:14px;
}
.vbt-widget-head{
    display:flex;align-items:center;gap:8px;
    font-size:15px;font-weight:700;color:#111;
    padding-bottom:14px;margin-bottom:16px;
    border-bottom:1px solid #f0ede6;
}
.vbt-anchor{font-size:18px}
.vbt-step{margin-bottom:20px}
.vbt-step-label{
    font-size:10px;font-weight:700;letter-spacing:.12em;
    text-transform:uppercase;color:#B69855;margin-bottom:10px;
}

/* ── Calendario ── */
.vbt-calendar{border:1px solid #e8e6e0;border-radius:8px;overflow:hidden}
.vbt-cal-nav{
    display:flex;align-items:center;justify-content:space-between;
    background:#111;padding:10px 14px;
}
.vbt-cal-nav button{
    background:none;border:1px solid rgba(255,255,255,.2);color:#fff;
    width:28px;height:28px;border-radius:4px;cursor:pointer;
    font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;
    transition:background .15s;
}
.vbt-cal-nav button:hover{background:rgba(255,255,255,.15)}
#vbt-month{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.vbt-cal-header{
    display:grid;grid-template-columns:repeat(7,1fr);
    background:#f7f5f0;border-bottom:1px solid #e8e6e0;
}
.vbt-cal-header span{
    text-align:center;padding:7px 0;
    font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#aaa;
}
.vbt-grid{
    display:grid;grid-template-columns:repeat(7,1fr);
    gap:1px;background:#e8e6e0;
}
.vbt-cell{
    background:#fff;text-align:center;
    padding:10px 4px;font-size:13px;font-weight:500;
    cursor:pointer;transition:background .12s,color .12s;
    min-height:38px;display:flex;align-items:center;justify-content:center;
    border-radius:1px;
}
.vbt-cell:hover:not(.vbt-dis):not(.vbt-empty){background:#F1E796;color:#111}
.vbt-cell.vbt-sel{background:#111!important;color:#F1E796!important;font-weight:700}
.vbt-cell.vbt-dis{background:#fafaf8;color:#ccc;cursor:not-allowed}
.vbt-cell.vbt-today{font-weight:800;color:#B69855;box-shadow:inset 0 0 0 1.5px #B69855}
.vbt-cell.vbt-empty{background:#fafaf8;cursor:default}

/* ── Slot ── */
.vbt-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.vbt-slot{
    border:1.5px solid #e0ddd6;border-radius:7px;
    padding:12px 14px;cursor:pointer;background:#fff;
    transition:all .15s;
}
.vbt-slot:hover:not(.vbt-slot-full){border-color:#B69855;background:#fefcf5}
.vbt-slot.vbt-slot-sel{border-color:#111;background:#111;color:#F1E796}
.vbt-slot.vbt-slot-full{opacity:.4;cursor:not-allowed;background:#fafaf8}
.vbt-slot strong{display:block;font-size:15px;margin-bottom:3px}
.vbt-slot span{font-size:11px;color:#B69855;font-weight:500}
.vbt-slot.vbt-slot-sel span{color:#F1E796}
.vbt-slot.vbt-slot-full span{color:#e74c3c}
.vbt-loading{font-size:13px;color:#aaa;font-style:italic}

/* ── Modalità prezzo ── */
.vbt-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.vbt-mode{
    border:1.5px solid #e0ddd6;border-radius:8px;
    padding:14px 16px;cursor:pointer;background:#fff;transition:all .15s;
}
.vbt-mode:hover{border-color:#B69855;background:#fefcf5}
.vbt-mode.vbt-mode-sel{border-color:#111;background:#111;color:#fff}
.vbt-mode-icon{font-size:22px;display:block;margin-bottom:6px}
.vbt-mode strong{display:block;font-size:13px;font-weight:700;margin-bottom:3px}
.vbt-mode span{font-size:12px;color:#888}
.vbt-mode.vbt-mode-sel span{color:rgba(255,255,255,.6)}

/* ── Ospiti ── */
.vbt-guests-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.vbt-guests-label{font-size:12px;font-weight:600;color:#555;min-width:120px}
.vbt-qty{display:flex;align-items:center;gap:10px}
.vbt-qty button{
    width:34px;height:34px;border-radius:50%;
    border:1.5px solid #ddd;background:#fff;
    font-size:20px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:all .15s;color:#333;line-height:1;
}
.vbt-qty button:hover:not(:disabled){border-color:#111;background:#111;color:#fff}
.vbt-qty button:disabled{opacity:.25;cursor:not-allowed}
.vbt-qty #vbt-guests-n{font-size:22px;font-weight:700;min-width:32px;text-align:center;color:#111}
.vbt-guests-hint{font-size:12px;color:#aaa}

/* ── Prezzo calcolato ── */
.vbt-price-display{
    background:#fafaf8;border:1px solid #e8e6e0;
    border-radius:6px;padding:12px 16px;margin-bottom:14px;
}
.vbt-price-line{font-size:14px;color:#333;line-height:1.6}
.vbt-price-line strong{font-size:16px;color:#111}
.vbt-price-line small{color:#888}

/* ── Riepilogo ── */
.vbt-summary{
    background:#f5f3ee;border:1px solid #ddd9d0;
    border-radius:8px;padding:14px 18px;
}
.vbt-sum-row{
    display:flex;justify-content:space-between;
    padding:5px 0;border-bottom:1px solid #e8e5de;
    font-size:13px;
}
.vbt-sum-row span{color:#888}
.vbt-sum-row strong{color:#111;font-weight:600}
.vbt-sum-total{
    display:flex;justify-content:space-between;
    padding:10px 0 6px;font-size:15px;
}
.vbt-sum-total span{font-weight:600;color:#111}
.vbt-sum-total strong{font-size:20px;color:#111}
.vbt-sum-ok{
    text-align:center;margin-top:10px;
    font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
    color:#B69855;border-top:1.5px solid #B69855;padding-top:10px;
}

/* ── Errore ── */
.vbt-error{
    background:#fff5f5;border:1px solid #f5c6cb;
    border-radius:6px;padding:10px 14px;color:#721c24;
    font-size:13px;margin-top:8px;
}

/* ── Selettore durate ── */
.vbt-dur-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
    gap:8px;
}
.vbt-dur-btn{
    border:1.5px solid #e0ddd6;border-radius:7px;
    padding:12px 14px;cursor:pointer;background:#fff;
    transition:all .15s;text-align:center;
    -webkit-tap-highlight-color:transparent;
}
.vbt-dur-btn:hover{border-color:#B69855;background:#fefcf5}
.vbt-dur-btn.vbt-dur-sel{border-color:#111;background:#111;color:#F1E796}
.vbt-dur-name{display:block;font-size:13px;font-weight:700;margin-bottom:5px}
.vbt-dur-btn.vbt-dur-sel .vbt-dur-name{color:#F1E796}
.vbt-dur-price{display:block;font-size:12px}
.vbt-dur-orig{text-decoration:line-through;color:#aaa;font-size:11px;margin-right:3px}
.vbt-dur-active{font-weight:600;color:#111}
.vbt-dur-btn.vbt-dur-sel .vbt-dur-active{color:#F1E796}
.vbt-dur-sale{color:#c0392b !important}
.vbt-dur-btn.vbt-dur-sel .vbt-dur-sale{color:#F1E796 !important}

@media(max-width:480px){
    .vbt-dur-grid{grid-template-columns:1fr 1fr}
    .vbt-dur-btn{padding:14px 10px}
}
