/* BookerWeekly – frontend. Low-specificity defaults so the theme's own button styles win. */
.bw-block{margin:14px 0 0;clear:both}
.bw-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}
.bw-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8125em;line-height:1.5;font-weight:600;background:rgba(0,0,0,.07);color:inherit}
.bw-badge-price{background:rgba(0,0,0,.85);color:#fff}
.bw-type-free{background:#e3f6e8;color:#14532d}
.bw-type-paid{background:#fff1d6;color:#7a4a00}
.bw-type-reservation{background:#e4ecff;color:#1d3a8a}
.bw-spots-full{background:#fde4e4;color:#8a1c1c}
:where(.btn-booker-weekly){display:inline-block;box-sizing:border-box;padding:.65em 1.4em;border:0;border-radius:6px;background:#111;color:#fff;font:inherit;font-weight:600;line-height:1.3;text-align:center;text-decoration:none;cursor:pointer}
:where(.btn-booker-weekly:hover){opacity:.88}
.btn-booker-weekly.bw-full,.btn-booker-weekly[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none}

/* Modal */
.bw-modal[hidden],.bw-modal [hidden]{display:none!important}
.bw-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.bw-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.bw-dialog{position:relative;width:100%;max-width:460px;max-height:calc(100vh - 32px);overflow-y:auto;box-sizing:border-box;padding:28px 26px 24px;border-radius:12px;background:#fff;color:#111;box-shadow:0 20px 60px rgba(0,0,0,.35);font-size:16px;line-height:1.5;outline:0}
.bw-dialog *{box-sizing:border-box}
.bw-close{position:absolute;top:8px;right:10px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:#444;font-size:26px;line-height:1;cursor:pointer}
.bw-close:hover{background:rgba(0,0,0,.08)}
.bw-title{margin:0 28px 6px 0;font-size:1.25em;letter-spacing:.04em;line-height:1.25;color:inherit}
.bw-session{margin:0 0 10px;font-weight:600;color:#444}
.bw-summary{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.bw-summary:empty{display:none}
.bw-field{margin:0 0 14px}
.bw-field label{display:block;margin:0 0 4px;font-size:.9em;font-weight:600}
.bw-req{color:#b32d2e}
.bw-dialog input[type=text],.bw-dialog input[type=email],.bw-dialog input[type=tel]{display:block;width:100%;padding:.65em .8em;border:1px solid #c3c4c7;border-radius:6px;background:#fff;color:#111;font:inherit;font-size:16px;box-shadow:none}
.bw-dialog input:focus{border-color:#111;outline:2px solid rgba(0,0,0,.15);outline-offset:0}
.bw-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.bw-submit{display:block;width:100%;padding:.8em 1.2em;border:0;border-radius:6px;background:#111;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.bw-submit[disabled]{opacity:.6;cursor:wait}
.bw-error{margin:0 0 14px;padding:10px 12px;border-left:4px solid #b32d2e;border-radius:4px;background:#fcf0f1;color:#6b1a1a;font-size:.92em}
.bw-pay-text{margin:0 0 14px}
#bw-paypal-buttons{min-height:48px}
.bw-success{margin:6px 0 18px;padding:14px 16px;border-left:4px solid #1a7f37;border-radius:4px;background:#edfaef;color:#14532d;font-weight:600}
.bw-success-error{border-left-color:#b32d2e;background:#fcf0f1;color:#6b1a1a}
#bw-paypal-inline{min-height:48px;margin-top:4px}
html.bw-modal-open{overflow:hidden}

@media (max-width:520px){
	.bw-modal{align-items:flex-end;padding:0}
	.bw-dialog{max-width:none;max-height:92vh;padding:24px 18px 20px;border-radius:14px 14px 0 0}
}
@media (prefers-reduced-motion:no-preference){
	.bw-dialog{animation:bw-pop .18s ease-out}
	@keyframes bw-pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
}
