
.jsc-dbc{font-family:inherit;max-width:100%;}

.jsc-dbc-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 12px 0;}
.jsc-dbc-btn{padding:6px 10px;cursor:pointer;}
.jsc-dbc-month{font-weight:600;}

.jsc-dbc-filters{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 12px 0;}
.jsc-dbc-filters label{display:flex;flex-direction:column;gap:6px;font-size:14px;}
.jsc-dbc-filter{padding:6px 8px;min-width:220px;max-width:100%;}

.jsc-dbc-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid rgba(0,0,0,.15);}
.jsc-dbc-weekday{padding:8px;font-size:13px;font-weight:600;border-bottom:1px solid rgba(0,0,0,.15);}
.jsc-dbc-day{min-height:110px;padding:6px;border-top:1px solid rgba(0,0,0,.15);border-right:1px solid rgba(0,0,0,.15);box-sizing:border-box;}
.jsc-dbc-day:nth-child(7n){border-right:none;}
.jsc-dbc-day-num{font-size:12px;opacity:.8;margin-bottom:6px;}
.jsc-dbc-trip{display:block;width:100%;text-align:left;padding:6px 8px;margin:0 0 6px 0;cursor:pointer;border:1px solid rgba(0,0,0,.15);background:transparent;border-radius:4px;font-size:12px;}
.jsc-dbc-trip[disabled]{opacity:.5;cursor:not-allowed;}

/* Modal */
.jsc-dbc-modal[hidden]{display:none !important;}
.jsc-dbc-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.55);z-index:9999;padding:20px;}
.jsc-dbc-modal.is-open{display:flex;}
.jsc-dbc-modal-inner{background:#fff;max-width:720px;width:100%;border-radius:8px;padding:16px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;overflow:hidden;}
.jsc-dbc-modal-close{align-self:flex-end;padding:6px 10px;cursor:pointer;}
.jsc-dbc-modal-content{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;padding-right:2px;}
.jsc-dbc-modal-content h3{margin:0 0 10px 0;}
.jsc-dbc-row{margin:6px 0;}
.jsc-dbc-booking{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;}
.jsc-dbc-booking-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;width:100%;}
.jsc-dbc-booking label{display:flex;flex-direction:column;gap:6px;font-size:14px;}
.jsc-dbc-booking input,.jsc-dbc-booking select{padding:6px 8px;}
.jsc-dbc-primary{padding:8px 12px;cursor:pointer;}
.jsc-dbc-error{margin-top:10px;color:#b00020;}

.jsc-dbc-passengers{width:100%;margin-top:10px;}
.jsc-dbc-passengers h4{margin:10px 0;}
.jsc-dbc-passenger{border:1px solid rgba(0,0,0,.15);border-radius:8px;padding:10px;margin:0 0 10px 0;}
.jsc-dbc-passenger-title{font-weight:600;margin:0 0 8px 0;}
.jsc-dbc-passenger-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px;}
.jsc-dbc-passenger-grid label{font-size:13px;}
.jsc-dbc-depth{display:flex;gap:8px;align-items:center;}
.jsc-dbc-depth input{flex:1;}

@media (max-width: 640px){
  .jsc-dbc-passenger-grid{grid-template-columns:1fr;}
}

/* Prevent background scroll when modal is open */
body.jsc-dbc-modal-open{overflow:hidden;}
