.joodit-booking{border:1px solid rgba(0,0,0,0.12);padding:12px;border-radius:10px;margin:12px 0;display:flex;flex-direction:column;gap:10px;}
.joodit-booking__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.joodit-booking__row label{min-width:120px;}
.joodit-booking__selected{font-weight:600;}
.joodit-booking__blocks{width:90px;}
.joodit-booking__bundles{min-width:90px;padding:6px 10px;border:1px solid rgba(0,0,0,0.2);border-radius:8px;background:#fff;}
.joodit-booking__hint{font-size:12px;opacity:0.8;}
.joodit-booking__msg{font-size:13px;min-height:18px;}
.joodit-booking__msg.is-ok{color:#0a7d2c;}
.joodit-booking__msg.is-error{color:#b32d2e;}
.jrb-extra-fields{display:block;margin-top:2px;}
.jrb-extra-fields .jps-field-row{margin:0 0 16px;}
.jrb-extra-fields .jps-field-row:last-child{margin-bottom:0;}
.jrb-extra-fields .jps-field-row > label{display:block;margin:0 0 6px;font-size:13px;font-weight:700;line-height:1.3;min-width:0;}
.jrb-extra-fields .jps-field-control{display:block;}
.jrb-extra-fields .joodit-core-field-input,
.jrb-extra-fields .joodit-core-field-select{display:block;width:100%;max-width:100%;min-height:40px;padding:8px 10px;border:1px solid #c3c4c7;border-radius:8px;background:#fff;box-sizing:border-box;}
.jrb-extra-fields .joodit-core-field-input:focus,
.jrb-extra-fields .joodit-core-field-select:focus{border-color:#2271b1;outline:0;box-shadow:0 0 0 1px rgba(34,113,177,.15);}
.jrb-extra-fields .required{color:#b32d2e;}
.jrb-list-table{width:100%;border-collapse:collapse;border-spacing:0;background:#fff;}
.jrb-list-table thead th{text-align:left;font-weight:600;vertical-align:bottom;}
.jrb-list-table th,.jrb-list-table td{padding:12px 14px;border-bottom:1px solid rgba(0,0,0,0.08);vertical-align:top;}
.jrb-list-table tbody tr:last-child td{border-bottom:0;}
.jrb-list-table tbody tr:hover td,.jrb-list-table tbody tr:focus-within td{background:#fcfcfc;}
.jrb-list-table .column-primary{width:42%;}
.jrb-list-table .has-row-actions .row-actions{margin-top:4px;font-size:inherit;line-height:inherit;font-family:inherit;color:#646970;visibility:hidden;opacity:0;transition:opacity .12s ease;}
.jrb-list-table .has-row-actions .row-actions a{color:#2271b1;text-decoration:none;}
.jrb-list-table .has-row-actions .row-actions a:hover{text-decoration:underline;}
.jrb-list-table .has-row-actions .row-actions .submitdelete{color:#b32d2e;}
.jrb-list-table .has-row-actions .row-actions .sep{color:#a7aaad;margin:0 5px;}
.jrb-list-table tr:hover .row-actions,.jrb-list-table tr:focus-within .row-actions{visibility:visible;opacity:1;}
.jrb-row-title{font-weight:600;line-height:1.4;}
.jrb-row-title a{color:inherit;text-decoration:none;}
.jrb-row-title a:hover{text-decoration:underline;}
.jrb-basket-checkout-form{margin-top:16px;display:flex;flex-direction:column;gap:14px;}
.jrb-basket-checkout-fields{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid rgba(0,0,0,0.08);border-radius:12px;background:#fff;}
.jrb-basket-checkout-fields .jps-field-row{margin:0;}
.jrb-basket-checkout-fields .jps-field-row > label{display:block;margin:0 0 6px;font-size:13px;font-weight:700;line-height:1.3;min-width:0;}
.jrb-basket-checkout-fields .jps-field-control{display:block;}
.jrb-basket-checkout-fields .joodit-core-field-input{display:block;width:100%;max-width:100%;min-height:40px;padding:8px 10px;border:1px solid #c3c4c7;border-radius:8px;background:#fff;box-sizing:border-box;}
.jrb-basket-checkout-fields .joodit-core-field-input:focus{border-color:#2271b1;outline:0;box-shadow:0 0 0 1px rgba(34,113,177,.15);}
.jrb-page-actions{display:flex;justify-content:flex-end;margin:0 0 12px;}
.jrb-cart-shortcut{display:flex;justify-content:flex-end;}
.jrb-cart-shortcut__link,
.jrb-cart-shortcut__link:link,
.jrb-cart-shortcut__link:visited{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(0,0,0,0.14);border-radius:999px;background:#fff;color:#111;text-decoration:none !important;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,0.06);}
.jrb-cart-shortcut__link:hover,.jrb-cart-shortcut__link:focus,.jrb-cart-shortcut__link:active{background:#f6f7f7;color:#111;text-decoration:none !important;}
.jrb-cart-shortcut__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;}
.jrb-cart-shortcut__icon svg{display:block;width:18px;height:18px;}
.jrb-cart-shortcut__count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#2271b1;color:#fff;font-size:12px;line-height:1;}
.jrb-cart-shortcut__link .jrb-cart-shortcut__icon,
.jrb-cart-shortcut__link .jrb-cart-shortcut__label,
.jrb-cart-shortcut__link .jrb-cart-shortcut__count{color:inherit;text-decoration:none !important;}
.jrb-cart-shortcut__link .jrb-cart-shortcut__count{color:#fff;}
@media (max-width: 640px){.jrb-list-table th,.jrb-list-table td{padding:10px 12px;}.jrb-list-table .column-primary{width:auto;}}

/* Month calendar */
.jb-cal{border:1px solid rgba(0,0,0,0.12);border-radius:12px;padding:12px;background:#fff;max-width:520px;}
.jb-cal__hdr{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.jb-cal__title{font-weight:700;}
.jb-cal__btn{border:1px solid rgba(0,0,0,0.15);background:#f6f7f7;border-radius:10px;padding:6px 10px;cursor:pointer;}
.jb-cal__btn:hover{background:#eef0f1;}
.jb-cal__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;font-size:12px;opacity:.75;}
.jb-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.jb-cal__cell{aspect-ratio:1/1;border-radius:10px;border:1px solid rgba(0,0,0,0.10);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;}
.jb-cal__cell--empty{border:none;background:transparent;}
.jb-cal__cell--available{background:rgba(10,125,44,0.08);border-color:rgba(10,125,44,0.25);}
.jb-cal__cell--reserved{background:rgba(255,165,0,0.10);border-color:rgba(255,165,0,0.28);opacity:.92;}
.jb-cal__cell--booked{background:rgba(179,45,46,0.08);border-color:rgba(179,45,46,0.22);opacity:.9;}
.jb-cal__cell--unavailable{background:rgba(0,0,0,0.03);border-color:rgba(0,0,0,0.08);opacity:.55;cursor:not-allowed;}
.jb-cal__cell.is-disabled{cursor:not-allowed;}
.jb-cal__cell.is-selected{outline:3px solid rgba(0,115,170,0.45);}
.jb-cal__cell.is-in-range{background:rgba(0,115,170,0.18);border-color:rgba(0,115,170,0.45);box-shadow:inset 0 0 0 2px rgba(0,115,170,0.14);}
.jb-cal__cell.is-range-start{border-top-left-radius:12px;border-bottom-left-radius:12px;}
.jb-cal__cell.is-range-end{border-top-right-radius:12px;border-bottom-right-radius:12px;}
.jb-cal__cell.is-reserved-range{background:rgba(255,165,0,0.14);border-color:rgba(255,165,0,0.32);box-shadow:inset 0 0 0 2px rgba(255,165,0,0.14);opacity:.96;}
.jb-cal__cell.is-reserved-range-start{border-top-left-radius:12px;border-bottom-left-radius:12px;}
.jb-cal__cell.is-reserved-range-end{border-top-right-radius:12px;border-bottom-right-radius:12px;}
.jb-cal__cell.is-booked-range{background:rgba(179,45,46,0.12);border-color:rgba(179,45,46,0.28);box-shadow:inset 0 0 0 2px rgba(179,45,46,0.12);opacity:.95;}
.jb-cal__cell.is-booked-range-start{border-top-left-radius:12px;border-bottom-left-radius:12px;}
.jb-cal__cell.is-booked-range-end{border-top-right-radius:12px;border-bottom-right-radius:12px;}
.jb-cal__cell.is-selected{background:rgba(0,115,170,0.18);border-color:rgba(0,115,170,0.45);box-shadow:inset 0 0 0 2px rgba(0,115,170,0.14);opacity:1;}
.jb-cal__cell.is-in-range{background:rgba(0,115,170,0.18);border-color:rgba(0,115,170,0.45);box-shadow:inset 0 0 0 2px rgba(0,115,170,0.14);opacity:1;}
.jb-cal__num{font-weight:700;font-size:13px;}
.jb-cal__legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;font-size:12px;opacity:.85;}
.jb-cal__summary{margin-top:10px;font-size:13px;font-weight:600;opacity:.9;}
.jb-leg{display:inline-flex;align-items:center;gap:6px;}
.jb-leg:before{content:"";display:inline-block;width:12px;height:12px;border-radius:4px;border:1px solid rgba(0,0,0,0.12);}
.jb-leg--available:before{background:rgba(10,125,44,0.15);border-color:rgba(10,125,44,0.25);}
.jb-leg--reserved:before{background:rgba(255,165,0,0.16);border-color:rgba(255,165,0,0.28);}
.jb-leg--booked:before{background:rgba(179,45,46,0.12);border-color:rgba(179,45,46,0.22);}
.jb-leg--unavailable:before{background:rgba(0,0,0,0.04);border-color:rgba(0,0,0,0.10);}

/* Day-by-day slots */
.jb-day{border:1px solid rgba(0,0,0,0.12);border-radius:12px;padding:12px;background:#fff;max-width:520px;}
.jb-day__hdr{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.jb-day__title{font-weight:700;}
.jb-day__btn{border:1px solid rgba(0,0,0,0.15);background:#f6f7f7;border-radius:10px;padding:6px 10px;cursor:pointer;}
.jb-day__btn:hover{background:#eef0f1;}
.jb-day__status{font-size:12px;margin-bottom:8px;opacity:.85;}
.jb-day__status--available{color:#0a7d2c;opacity:1;}
.jb-day__status--reserved{color:#b26a00;opacity:1;}
.jb-day__status--booked{color:#b32d2e;opacity:1;}
.jb-day__status--unavailable{color:#555;opacity:1;}
.jb-day__slots{display:flex;flex-wrap:wrap;gap:8px;}
.jb-day__legend{margin-top:10px;font-size:12px;opacity:.85;}
.jb-day__legend-row{display:flex;flex-wrap:wrap;gap:10px;}
.jb-day__legend-note{margin-top:6px;opacity:.9;}
.jb-slot{border:1px solid rgba(0,0,0,0.15);background:#fff;border-radius:999px;padding:6px 10px;cursor:pointer;font-weight:600;}
.jb-slot:hover{background:#f6f7f7;}
.jb-slot.is-available{background:rgba(10,125,44,0.08);border-color:rgba(10,125,44,0.25);color:#0a5c24;}
.jb-slot.is-available:hover{background:rgba(10,125,44,0.12);}
.jb-slot.is-disabled{opacity:.55;cursor:not-allowed;}
.jb-slot.is-disabled:hover{background:#fff;}
.jb-slot.is-occupied{background:rgba(179,45,46,0.08);border-color:rgba(179,45,46,0.22);color:#6d0c12;opacity:.9;}
.jb-slot.is-occupied:hover{background:rgba(179,45,46,0.08);}
.jb-slot.is-reserved{background:rgba(255,165,0,0.10);border-color:rgba(255,165,0,0.28);color:#8a5300;opacity:.92;}
.jb-slot.is-reserved:hover{background:rgba(255,165,0,0.10);}
.jb-slot.is-unavailable{background:rgba(0,0,0,0.03);border-color:rgba(0,0,0,0.08);color:#555;opacity:.55;}
.jb-slot.is-unavailable:hover{background:rgba(0,0,0,0.03);}
.jb-slot.is-selected{background:rgba(0,115,170,0.10);border-color:rgba(0,115,170,0.35);}
.jb-slot.is-in-range{background:rgba(0,115,170,0.06);border-color:rgba(0,115,170,0.20);}
.jb-slot.is-range-start{box-shadow:0 0 0 3px rgba(0,115,170,0.18);}
.jb-slot.is-range-end{box-shadow:0 0 0 3px rgba(0,115,170,0.10);}
.jb-day__empty{font-size:12px;opacity:.75;}
.jb-day__summary{margin-top:10px;font-size:13px;font-weight:600;opacity:.9;}

/* Tooltip (same styling approach as Joodit Photos/Exhibition) */
.joodit-resource-booking-tooltip,.joodit-booking-tooltip{position:fixed;z-index:999999;max-width:min(420px, calc(100% - 24px));padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,0.28);background:rgba(255,255,255,0.96);color:#111;font-size:13px;line-height:1.35;white-space:normal;pointer-events:auto;}
.joodit-resource-booking-tooltip__title,.joodit-booking-tooltip__title{font-weight:600;font-size:15px;text-align:center;margin:0 0 4px 0;}
.joodit-resource-booking-tooltip__desc,.joodit-booking-tooltip__desc{white-space:normal;}
.joodit-resource-booking-tooltip__desc > :first-child,.joodit-booking-tooltip__desc > :first-child{margin-top:0;}
.joodit-resource-booking-tooltip__desc > :last-child,.joodit-booking-tooltip__desc > :last-child{margin-bottom:0;}
.joodit-resource-booking-tooltip__desc p,.joodit-booking-tooltip__desc p{margin:0 0 6px 0;}
.joodit-resource-booking-tooltip__desc ul,
.joodit-resource-booking-tooltip__desc ol,
.joodit-booking-tooltip__desc ul,
.joodit-booking-tooltip__desc ol{margin:0 0 6px 18px;padding:0;}
.joodit-resource-booking-tooltip__desc a,.joodit-booking-tooltip__desc a{color:inherit;text-decoration:underline;}
.joodit-resource-booking-tooltip__desc a:hover,
.joodit-resource-booking-tooltip__desc a:focus,
.joodit-booking-tooltip__desc a:hover,
.joodit-booking-tooltip__desc a:focus{text-decoration:underline;}
