.dbbcb-product-box{border:1px solid #ddd;padding:18px;margin:18px 0;border-radius:10px;background:#fff}.dbbcb-product-box h3{margin:0 0 8px}.dbbcb-product-box label{display:block;font-weight:600;margin:12px 0 6px}.dbbcb-product-box input,.dbbcb-product-box select{width:100%;min-height:46px}.dbbcb-note{font-size:.92em;opacity:.78}.dbbcb-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.dbbcb-card{border:1px solid #ddd;padding:18px;border-radius:10px}.dbbcb-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99999;padding:5vh 16px}.dbbcb-modal-inner{background:#fff;max-width:520px;margin:auto;padding:24px;border-radius:12px;position:relative}.dbbcb-modal-inner label{display:block;font-weight:600;margin:10px 0 5px}.dbbcb-modal-inner input,.dbbcb-modal-inner select,.dbbcb-modal-inner textarea{width:100%}.dbbcb-close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:28px}.dbbcb-table-wrap{overflow:auto}
/* Consultation products are always sold as one booking/package. Hide theme quantity steppers. */
.single-product form.cart:has(.dbbcb-product-box) .quantity,
.single-product form.cart:has(.dbbcb-product-box) .quantity-button,
.single-product form.cart:has(.dbbcb-product-box) .plus,
.single-product form.cart:has(.dbbcb-product-box) .minus { display:none !important; }
.dbbcb-product-box select:disabled { opacity:.72; cursor:not-allowed; }


/* v1.5 slot-button booking UI */
.dbbcb-product-box{max-width:760px;padding:24px;border-radius:16px}
.dbbcb-product-box h3{font-size:clamp(26px,3vw,40px);line-height:1.15;margin-bottom:10px}
.dbbcb-step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start;margin-top:22px}
.dbbcb-step>span{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f1eafa;font-weight:700;color:#67348f}
.dbbcb-step>div{min-width:0}
.dbbcb-step label,.dbbcb-time-title{display:block;font-weight:700;margin:2px 0 10px;font-size:18px}
.dbbcb-date-input{width:100%;min-height:54px;border:1px solid #dfe3ec;border-radius:8px;padding:0 16px;background:#fff}
.dbbcb-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:10px;width:100%}
.dbbcb-slot-button{appearance:none;border:1px solid #d7dce6;background:#fff;color:#1e2940;border-radius:9px;padding:12px 10px;min-height:46px;font-weight:700;cursor:pointer;transition:.15s ease}
.dbbcb-slot-button:hover{border-color:#6b3692;transform:translateY(-1px)}
.dbbcb-slot-button.is-selected{background:#6b3692;color:#fff;border-color:#6b3692;box-shadow:0 7px 18px rgba(107,54,146,.22)}
.dbbcb-placeholder{grid-column:1/-1;margin:0;padding:14px 16px;border-radius:8px;background:#f7f8fb;color:#667085}
.dbbcb-loading{position:relative;padding-left:42px}
.dbbcb-loading:before{content:'';position:absolute;left:16px;top:50%;width:15px;height:15px;margin-top:-8px;border:2px solid #d5c3e3;border-top-color:#6b3692;border-radius:50%;animation:dbbcb-spin .7s linear infinite}
@keyframes dbbcb-spin{to{transform:rotate(360deg)}}
.dbbcb-selected-summary{margin:18px 0 0;padding:12px 14px;border-radius:8px;background:#f3edf8;color:#352044}
.dbbcb-slot-message{margin:9px 0 0;padding-left:50px}
.dbbcb-product-box .dbbcb-load-times,.dbbcb-product-box .dbbcb-slot-select{display:none!important}
@media(max-width:520px){.dbbcb-product-box{padding:18px}.dbbcb-step{grid-template-columns:30px minmax(0,1fr);gap:10px}.dbbcb-step>span{width:28px;height:28px}.dbbcb-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dbbcb-slot-message{padding-left:40px}}
