.wbt-wrap{max-width:980px;margin:20px auto;font-family:inherit;}
body.wbt-modal-open{overflow:hidden;}
.wbt-title{margin:0 0 12px 0;}
.wbt-notice{padding:10px 12px;border:1px solid #ddd;background:#fafafa;border-radius:10px;margin-bottom:12px;}
.wbt-notice--success{border-color:#cfe9d6;background:#e9f7ee;}
.wbt-notice--error{border-color:#f0b9b9;background:#fff1f1;}
.wbt-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;}
@media (max-width:900px){.wbt-grid{grid-template-columns:1fr;}}

.wbt-calendar{border:1px solid #ddd;border-radius:10px;overflow:hidden;background:#fff;}
.wbt-cal-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #eee;}
.wbt-cal-head button{width:38px;height:32px;border:1px solid #ddd;background:#fff;border-radius:8px;cursor:pointer;}
.wbt-cal-month{font-weight:600;}
.wbt-cal-body{padding:10px 12px;}
.wbt-cal-table{width:100%;border-collapse:collapse;}
.wbt-cal-table th{font-size:12px;font-weight:600;padding:6px 0;color:#555;}
.wbt-cal-table td{padding:3px;text-align:center;}
.wbt-cal-table td.empty{padding:12px 0;}
.wbt-cal-table td.day button{width:100%;padding:10px 0;border-radius:10px;border:1px solid #eee;background:#fff;cursor:pointer;}
.wbt-cal-table td.day.open button{border-color:#cfe9d6;}
.wbt-cal-table td.day.closed button{opacity:0.35;cursor:not-allowed;}
.wbt-cal-table td.day.booked button{opacity:0.55;cursor:not-allowed;}
.wbt-cal-table td.day.selected button{outline:2px solid #222;}

.wbt-cal-legend{display:flex;gap:12px;align-items:center;padding:10px 12px;border-top:1px solid #eee;font-size:12px;}
.wbt-legend{width:14px;height:14px;display:inline-block;border-radius:4px;border:1px solid #ddd;}
.wbt-legend.open{background:#e9f7ee;border-color:#cfe9d6;}
.wbt-legend.closed{background:#f3f3f3;}
.wbt-legend.booked{background:#fff3cd;border-color:#ffe7a1;}

.wbt-form{border:1px solid #ddd;border-radius:10px;background:#fff;padding:14px;}
.wbt-form-inner{display:flex;flex-direction:column;gap:10px;}
.wbt-label{font-size:13px;font-weight:600;}
.wbt-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:10px;background:#fff;}
.wbt-submit{margin-top:6px;padding:12px 14px;border:0;border-radius:10px;background:#111;color:#fff;cursor:pointer;font-weight:600;}
.wbt-submit:hover{opacity:0.92;}

.wbt-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.wbt-captcha{display:flex;gap:10px;align-items:center;}
.wbt-captcha-q{white-space:nowrap;font-weight:600;}

/* Modal */
.wbt-modal{position:fixed;inset:0;display:none;z-index:99999;}
.wbt-modal.is-open{display:block;}
.wbt-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);}
.wbt-modal__box{position:relative;max-width:560px;width:calc(100% - 40px);margin:12vh auto 0;background:#fff;border-radius:16px;border:1px solid #e7e7ea;box-shadow:0 18px 50px rgba(0,0,0,.18);padding:20px 18px;}
.wbt-modal__title{font-weight:700;font-size:18px;margin:0 0 8px 0;}
.wbt-modal__body{font-size:14px;line-height:1.5;color:#333;}
.wbt-modal__close{position:absolute;top:10px;right:10px;border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;opacity:0.7;}
.wbt-modal__close:hover{opacity:1;}

/* Solange geladen wird: Kalender + Controls nicht klickbar */
.wbt-loading .wbt-calendar,
.wbt-loading .wbt-calendar *{
	pointer-events: none;
}

.wbt-loading .wbt-date-start,
.wbt-loading .wbt-date-end,
.wbt-loading .wbt-slot-select,
.wbt-loading .wbt-submit{
	opacity: .55;
}

/* Optional: Cursor */
.wbt-loading .wbt-calendar{
	cursor: progress;
}
