
.sbp-wrap { max-width: 980px; margin: 24px auto; padding: 12px; }
.sbp-grid { display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 860px) { .sbp-grid { grid-template-columns: 1fr 1fr; } }
.sbp-card { border: 1px solid #ddd; border-radius: 10px; padding: 14px; background: #fff; }
.sbp-card label { display:block; font-weight: 600; margin-top: 10px; }
.sbp-card input, .sbp-card textarea { width:100%; padding: 10px; border:1px solid #ccc; border-radius: 8px; margin-top: 6px; }
.sbp-card select { width:100%; padding: 10px; border:1px solid #ccc; border-radius: 8px; margin-top: 6px; background: #fff; }
.sbp-small { font-size: 12px; opacity: .75; margin-top: 6px; }
.sbp-slots { margin-top: 12px; display:flex; flex-wrap: wrap; gap: 8px; }
.sbp-slot { padding: 8px 10px; border:1px solid #ccc; border-radius: 999px; background:#f7f7f7; cursor:pointer; display:none; }
.sbp-slot.active { border-color:#333; background:#e9e9e9; }
.sbp-summary { margin: 12px 0 8px; font-weight: 600; }
.sbp-msg { margin-top: 10px; }
.sbp-msg.ok { color: #0a7a0a; }
.sbp-msg.err { color: #b00020; }
.sbp-footnote { margin-top: 10px; font-size: 13px; opacity: .85; }

/* AGB / Terms */
.sbp-terms-wrap{margin:10px 0 8px;font-size:13px;line-height:1.35;}
.sbp-terms-wrap label{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin-top:0;}
.sbp-terms-wrap input[type="checkbox"]{width:auto;min-width:auto;margin-top:2px;padding:0;border:none;border-radius:0;}
.sbp-terms-wrap a{text-decoration:underline;}
/* Age confirmation */
.sbp-age-wrap{margin:0 0 8px;font-size:13px;line-height:1.35;}
.sbp-age-wrap label{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin-top:0;}
.sbp-age-wrap input[type="checkbox"]{width:auto;min-width:auto;margin-top:2px;padding:0;border:none;border-radius:0;}


/* Honeypot field: visually hidden but still in DOM */
.sbp-hp-wrap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }


.sbp-availability-note{padding:10px 12px;border:2px solid #00c853;border-radius:10px;background:#00e676;color:#000;font-weight:800;}


/* Calendar nav arrows should be black */
.sbp-cal-nav button{color:#000 !important;}


/* Calendar nav arrows as SVG should be black */
.sbp-cal-nav button{color:#000 !important;}
.sbp-cal-nav button svg,.sbp-cal-nav button svg *{fill:#000 !important;stroke:#000 !important;}
