
.vb-wrapper{max-width:1100px;margin:0 auto;}
.vb-v2 h3{font-size:20px;margin:0 0 15px;}
.vb-grid{display:grid;gap:16px;margin-bottom:14px;}
.vb-grid-3{grid-template-columns:1fr 2fr 1fr;}
.vb-grid-2{grid-template-columns:1fr 1fr;}
.vb-wrapper label{display:flex;flex-direction:column;font-size:14px;color:#333;}
.vb-wrapper select,.vb-wrapper input{margin-top:6px;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;}
.vb-msg{padding:10px 12px;background:#fff5f5;border:1px solid #ffd0d0;border-radius:8px;color:#b00;margin:10px 0;}
.vb-card{display:flex;border:1px solid #eee;border-radius:10px;padding:16px;align-items:stretch;gap:16px;}
.vb-card-left{display:flex;gap:14px;flex:1;}
.vb-doc-img{width:92px;height:135px;border-radius:8px;overflow:hidden;background:#f2f2f2;flex:none;}
.vb-doc-img img{width:100%;height:100%;object-fit:cover;}
.vb-doc-name{font-size:18px;font-weight:700;}
.vb-doc-spec{color:#777;margin-top:2px;}
.vb-service-name{margin-top:12px;font-weight:700;}
.vb-service-extra{margin-top:6px;color:#555;display:flex;gap:18px;flex-wrap:wrap;}
.vb-card-right{min-width:260px;border-left:1px solid #eee;padding-left:16px;display:flex;align-items:center;justify-content:center;}
.vb-next-av-label{color:#666;margin-bottom:8px;text-align:center;}
.vb-no-dates{color:#b00;text-align:center;}
.vb-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:10px 14px;border:1px solid #ddd;background:#fff;cursor:pointer;font-weight:600;}
.vb-btn:disabled{opacity:.5;cursor:not-allowed;}
.vb-btn-primary{background:#f07f2c;border-color:#f07f2c;color:#fff;}
.vb-btn-ghost{background:#fff;}
.vb-slots{margin-top:16px;border:1px solid #eee;border-radius:10px;padding:16px;}
.vb-slots-head,.vb-form-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.vb-slots-title,.vb-form-title{font-weight:700;}
.vb-slots-grid{display:flex;flex-wrap:wrap;gap:10px;}
.vb-slot-btn{padding:10px 14px;border-radius:8px;border:1px solid #f07f2c;background:#f07f2c;color:#fff;cursor:pointer;}
.vb-form{margin-top:16px;border:1px solid #eee;border-radius:10px;padding:16px;}
.vb-submit-msg{margin-top:10px;font-weight:600;}
@media (max-width:900px){
  .vb-grid-3{grid-template-columns:1fr;}
  .vb-card{flex-direction:column;}
  .vb-card-right{border-left:none;border-top:1px solid #eee;padding-left:0;padding-top:12px;min-width:unset;}
}
