.job-timing { margin: 20px 0; padding: 20px; border: 1px solid #dce5de; border-radius: 16px; background: #f6f9f5; color: #183046; text-align: left; }
.job-timing h3 { margin: 0 0 8px; font-size: 1.15rem; }
.job-timing p { font-size: .86rem; line-height: 1.5; margin: 8px 0; }
.job-timing-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 16px 0; }
.job-timing label { display: block; font-size: .88rem; font-weight: 600; }
.job-timing input[type=number], .job-timing select { display: block; width: 100%; min-height: 44px; box-sizing: border-box; padding: 10px; margin-top: 5px; border: 1px solid #b7c8be; border-radius: 8px; background: white; color: #183046; font: inherit; }
.job-timing input[type=checkbox] { width: 18px; height: 18px; margin: 0 8px 0 0; vertical-align: middle; }
.job-timing details { padding: 10px 0; border-top: 1px solid #dce5de; }
.job-timing summary { cursor: pointer; font-weight: 600; min-height: 32px; }
.job-timing .job-timing-option { display: flex; align-items: center; gap: 8px; margin: 10px 0; font-weight: 400; }
.job-timing-option input[type=number] { width: 76px; margin: 0 0 0 auto; flex-shrink: 0; }
.job-timing-result { border-top: 1px solid #dce5de; padding-top: 12px; font-weight: 600; }
@media(max-width: 480px) { .job-timing { padding: 14px; } .job-timing-grid { gap: 10px; } }
.job-timing textarea, .job-timing input[type=text] { display:block; width:100%; min-height:44px; box-sizing:border-box; padding:10px; margin:5px 0 14px; border:1px solid #b7c8be; border-radius:8px; background:white; color:#183046; font:inherit; }
.job-timing textarea { resize:vertical; }
.job-timing fieldset { border:1px solid #dce5de; border-radius:8px; padding:12px; margin:12px 0; }
.job-timing legend { font-weight:600; font-size:.88rem; }
.job-timing input[type=checkbox] { flex-shrink:0; }
.job-timing #bookingAssessmentError { color:#9f1239; font-weight:600; }
.job-timing :focus-visible { outline:3px solid #15803d; outline-offset:3px; }
.job-timing [hidden] { display:none!important; }

#bookingTiming.booking-home-fields, #bookingTiming.booking-home-fields > .job-timing-grid { display:contents; }
#bookingTiming.booking-home-fields .bk-field input, #bookingTiming.booking-home-fields .bk-field select { display:block; width:100%; box-sizing:border-box; margin-top:6px; }

.bk-progress [hidden], #publicBookingForm [hidden] { display:none!important; }
.bk-layout[data-bk-step="1.5"] .bk-summary-details, .bk-layout[data-bk-step="1.5"] .bk-summary-note { display:none; }
#bkConditionFields .job-timing { background:transparent; border:0; padding:0; margin:16px 0 0; }

.bk-inline-continue { margin-top:20px; width:100%; }

#bookingTiming .booking-room-slider { display:grid; grid-template-columns:1fr auto; align-items:center; }
#bookingTiming .booking-room-slider label { margin:0; }
.booking-room-count { font-weight:700; font-size:1.1rem; color:#183046; }
#bookingTiming.booking-home-fields .booking-room-slider input[type=range] { grid-column:1 / -1; min-height:44px; padding:0; border:0; border-radius:0; box-shadow:none; accent-color:#15803d; cursor:pointer; }
