.pbc-product-booking { margin: 1.25rem 0; padding: 1rem; border: 1px solid #ddd; border-radius: 4px; }
.pbc-product-booking h3 { margin: 0 0 1rem; }
.pbc-product-prices { margin: 0 0 1rem; }
.pbc-product-prices > div { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-bottom: 1px solid #e5e5e5; }
.pbc-product-prices dt { font-weight: 600; }
.pbc-product-prices dd { margin: 0; font-weight: 700; white-space: nowrap; }
.pbc-product-booking__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.pbc-product-booking .form-row { margin: 0; }
.pbc-product-booking label { display: block; margin-bottom: .4rem; font-weight: 600; }
.pbc-product-booking .pbc-frontend-date { width: calc(100% - 112px); min-width: 150px; background: #fff; cursor: pointer; }
.pbc-product-booking .pbc-time-select { width: 100px; margin-left: 6px; }
.pbc-product-booking .pbc-fixed-time-group { display: inline-flex; align-items: center; white-space: nowrap; }
.pbc-product-booking .pbc-fixed-time { display: inline-block; width: 100px; margin-left: 6px; padding: .5em; box-sizing: border-box; }
.pbc-frontend-status { min-height: 1.5em; margin: .75rem 0 0; color: #18742d; }
.pbc-frontend-status.is-error { color: #b32d2e; }
.pbc-frontend-price { min-height: 1.5em; margin: .35rem 0 0; font-size: 1.1em; font-weight: 700; }
.single_add_to_cart_button:disabled,
.single_add_to_cart_button.disabled { cursor: not-allowed; opacity: .5; }
.wc-block-components-quantity-selector:has(input:disabled),
.wc-block-components-quantity-selector:has(button:disabled) { pointer-events: none; opacity: .55; }
.ui-datepicker { display: none; width: 18em; padding: .4em; background: #fff; border: 1px solid #bbb; border-radius: 4px; box-shadow: 0 4px 18px rgba(0,0,0,.2); z-index: 99999 !important; }
.ui-datepicker-header { position: relative; padding: .4em 0; }
.ui-datepicker-title { text-align: center; }
.ui-datepicker-prev, .ui-datepicker-next { position: absolute; top: .4em; cursor: pointer; }
.ui-datepicker-prev { left: .4em; }
.ui-datepicker-next { right: .4em; }
.ui-datepicker-prev span, .ui-datepicker-next span { font-size: 0; }
.ui-datepicker-prev span::after { content: '\2190'; font-size: 18px; }
.ui-datepicker-next span::after { content: '\2192'; font-size: 18px; }
.ui-datepicker table { width: 100%; margin: 0; border-collapse: collapse; }
.ui-datepicker th { padding: .45em .2em; text-align: center; }
.ui-datepicker td { padding: 1px; text-align: center; }
.ui-datepicker td a, .ui-datepicker td span { display: block; padding: .4em; text-decoration: none; }
.ui-datepicker td a:hover, .ui-datepicker .ui-state-active { background: #2271b1; color: #fff; }
.ui-datepicker-unselectable span { opacity: .35; }
.ui-datepicker td.pbc-selected-range a { background: #dff4e4; color: #135e27; }
@media (max-width: 600px) { .pbc-product-booking__fields { grid-template-columns: 1fr; } }
