.bamboo-product-booking-btn,
.bamboo-open-booking {
    background: #ff6600;
    color: #fff;
    border: 0;
    padding: 13px 38px;
    font-weight: 800;
    text-transform: uppercase;
    border-radius: 0;
    line-height: 1.2;
    cursor: pointer;
    transition: all .2s ease;
}
.bamboo-product-booking-btn:hover,
.bamboo-open-booking:hover { background: #e65c00; color:#fff; }
.bamboo-booking-product-wrap { margin: 18px 0; }
.bamboo-booking-modal { position: fixed; inset: 0; z-index: 999999; display: none; align-items: center; justify-content: center; padding: 18px; }
.bamboo-booking-modal.active { display: flex; }
.bamboo-booking-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.58); }
.bamboo-booking-dialog { position: relative; z-index: 2; width: min(760px, 100%); max-height: 92vh; overflow-y: auto; background: #fff; border-radius: 12px; box-shadow: 0 25px 80px rgba(0,0,0,.22); }
.bamboo-booking-close { position:absolute; right:18px; top:16px; z-index:4; width:34px; height:34px; border:0; border-radius:50%; background:#fff; font-size:26px; line-height:30px; color:#333; cursor:pointer; }
.bamboo-booking-card { background:#fff; border-radius:12px; overflow:hidden; }
.bamboo-booking-head { padding: 25px 28px; border-bottom:1px solid #eee; }
.bamboo-booking-title { font-size:20px; font-weight:800; color:#1f1f1f; padding-right:40px; line-height:1.45; }
.bamboo-control { min-height:50px; border:1px solid #e7e7e7; box-shadow:0 3px 12px rgba(0,0,0,.04); border-radius:6px; font-size:14px; }
textarea.bamboo-control { min-height:130px; }
.bamboo-submit-btn { background:#006057; color:#fff; border:0; border-radius:8px; padding:13px 28px; text-transform:uppercase; font-weight:800; box-shadow:0 6px 16px rgba(0,96,87,.18); cursor:pointer; }
.bamboo-submit-btn:hover { background:#004f48; }
.bamboo-booking-inline { max-width: 780px; margin: 25px auto; border:1px solid #eee; border-radius:12px; box-shadow:0 12px 30px rgba(0,0,0,.08); }
body.bamboo-modal-open { overflow: hidden; }
@media (max-width: 575px) {
    .bamboo-booking-modal { padding: 10px; align-items:flex-start; }
    .bamboo-booking-dialog { max-height: 96vh; border-radius:10px; }
    .bamboo-booking-head { padding: 20px 18px; }
    .bamboo-booking-title { font-size:17px; }
    .bamboo-booking-form { padding: 18px !important; }
    .bamboo-product-booking-btn { width:100%; padding:14px 18px; }
}

.bamboo-booking-notice-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:20px}.bamboo-booking-notice-modal.active{display:flex}.bamboo-booking-notice-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px)}.bamboo-booking-notice-box{position:relative;width:min(430px,100%);background:#fff;border-radius:20px;padding:34px 28px 28px;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.25);animation:bambooNoticeIn .18s ease-out}.bamboo-booking-notice-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:28px;line-height:1;color:#777;cursor:pointer}.bamboo-booking-notice-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;background:#006b5b;color:#fff;font-size:42px;font-weight:800}.bamboo-booking-notice-modal.is-error .bamboo-booking-notice-icon{background:#dc3545}.bamboo-booking-notice-title{font-size:24px;font-weight:800;margin:0 0 10px;color:#222}.bamboo-booking-notice-text{font-size:15px;color:#666;margin:0 0 22px;line-height:1.6}.bamboo-booking-notice-btn{border:0;background:#006b5b;color:#fff;border-radius:10px;padding:12px 24px;font-weight:700;text-transform:uppercase}.bamboo-booking-notice-modal.is-error .bamboo-booking-notice-btn{background:#dc3545}@keyframes bambooNoticeIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
