.sbk{--m:#7b1e3c;--md:#621631;--bg:#fbf7f4;--bd:#e8ddd8;--tx:#2a1f22;--mu:#6e6166;color:var(--tx);max-width:420px;margin:0 auto}
.sbk *{box-sizing:border-box}
.sbk button{font:inherit;text-transform:none;letter-spacing:0;box-shadow:none;margin:0;cursor:pointer;-webkit-appearance:none;appearance:none}
.sbk-card{background:var(--bg);border:1px solid var(--bd);border-radius:24px;padding:28px 22px 20px;box-shadow:0 10px 30px rgba(80,30,45,.08)}
.sbk-title{font:400 34px/1.1 Georgia,"Playfair Display","Times New Roman",serif;margin:0 0 6px;color:var(--tx)}
.sbk-title span{color:var(--m)}
.sbk-sub{margin:0 0 18px;color:var(--mu);font-size:15px;line-height:1.4}
.sbk-mode span{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--m);color:#fff;border-radius:12px;padding:11px;font-size:14px;font-weight:600}
.sbk-label{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14px;margin:22px 0 10px}
.sbk-nav button{background:none;border:0;color:var(--m);font-size:22px;line-height:1;padding:0 8px}
.sbk-nav button:disabled{opacity:.3;cursor:default}
.sbk .sbk-opt{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:#fff;border:1px solid var(--bd);border-radius:14px;padding:14px;margin-bottom:10px;color:var(--tx)}
.sbk .sbk-opt.on{border-color:var(--m);background:#fdf5f6}
.sbk-r{flex:0 0 18px;height:18px;border:2px solid #c9b8bd;border-radius:50%;margin-top:2px;position:relative}
.sbk-opt.on .sbk-r{border-color:var(--m)}
.sbk-opt.on .sbk-r:after{content:"";position:absolute;inset:3px;background:var(--m);border-radius:50%}
.sbk-opt b{display:block;font-size:14px}
.sbk-opt small{color:var(--mu);font-size:13px}
.sbk-dates{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.sbk .sbk-d{background:#f3ece8;border:0;border-radius:12px;padding:10px 0;color:var(--tx);text-align:center}
.sbk-d small{display:block;font-size:12px;color:var(--mu)}
.sbk-d b{font-size:17px}
.sbk .sbk-d.on{background:var(--m);color:#fff}.sbk-d.on small{color:#f1d9df}
.sbk .sbk-d:disabled{opacity:.35;cursor:default}
.sbk-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sbk .sbk-t{background:transparent;border:1px solid var(--bd);border-radius:999px;padding:10px 4px;font-size:13px;color:var(--tx)}
.sbk .sbk-t.on{background:var(--m);border-color:var(--m);color:#fff}
.sbk-none{grid-column:1/-1;color:var(--mu);font-size:14px}
.sbk-f{width:100%;border:1px solid var(--bd);border-radius:12px;padding:11px 12px;margin:0 0 8px;font:inherit;font-size:14px;background:#fff;color:var(--tx)}
.sbk-hp{position:absolute;left:-9999px;opacity:0}
.sbk .sbk-cta{width:100%;background:var(--m);color:#fff;border:0;border-radius:999px;padding:15px;font-weight:600;margin-top:14px}
.sbk .sbk-cta:hover{background:var(--md)}.sbk .sbk-cta:disabled{opacity:.6;cursor:default}
.sbk-msg{font-size:13px;margin-top:10px;text-align:center;color:var(--mu)}.sbk-msg.err{color:#b42318}
.sbk-foot{text-align:center;color:var(--mu);font-size:12px;margin:12px 0 0}
.sbk-done{text-align:center;padding:30px 6px}.sbk-done h3{font:400 26px Georgia,serif;color:var(--m);margin:0 0 10px}
/* v1.1 dynamic session categories + service dropdown */
.sbk-label em{font-style:normal;color:var(--m);margin-right:6px}
.sbk-hint{color:var(--mu);font-size:13px;margin:-6px 0 10px}
.sbk-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.sbk .sbk-cat{position:relative;display:block;background:#fff;border:1px solid var(--bd);border-radius:16px;padding:14px 12px;text-align:left;color:var(--tx)}
.sbk .sbk-cat.on{border-color:var(--m);background:#fdf3f5}
.sbk-cat svg{display:block;margin-bottom:8px;color:var(--m)}
.sbk-cat b{display:block;font-size:15px}
.sbk-cat small{display:block;color:var(--mu);font-size:12px;line-height:1.35;margin-top:3px}
.sbk-cat .sbk-r{position:absolute;top:10px;right:10px;width:16px;height:16px;margin:0}
.sbk-cat.on .sbk-r{border-color:var(--m)}
.sbk-cat.on .sbk-r:after{content:"";position:absolute;inset:3px;background:var(--m);border-radius:50%}
.sbk-dd{position:relative}
.sbk .sbk-dd-b{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid var(--m);border-radius:14px;padding:12px 14px;color:var(--tx)}
.sbk-dd-b svg,.sbk-dd-o svg{color:var(--m);flex:none}
.sbk-dd-t{flex:1;min-width:0}.sbk-dd-t b{display:block;font-size:14px}.sbk-dd-t small{color:var(--mu);font-size:13px}
.sbk-chev{color:var(--m);font-size:20px;line-height:1}
.sbk-dd-l{display:none;position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);background:#fff;border-radius:14px;box-shadow:0 12px 30px rgba(60,20,35,.18);padding:6px;max-height:300px;overflow:auto}
.sbk-dd.open .sbk-dd-l{display:block}
.sbk .sbk-dd-o{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;border-radius:10px;padding:10px;text-align:left;color:var(--tx)}
.sbk .sbk-dd-o:hover,.sbk .sbk-dd-o.on{background:#fbe9ed}.sbk-dd-o.on b{color:var(--m)}
.sbk-dd-o i{font-style:normal;font-weight:600;font-size:14px;white-space:nowrap}
.sbk-sum{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f7e9ec;border-radius:14px;padding:14px;margin-top:12px}
.sbk-sum small{display:block;color:var(--mu);font-size:12px}.sbk-sum b{display:block;font-size:15px;margin:2px 0}
.sbk-sum .p{text-align:right;color:var(--m)}.sbk-sum .p strong{display:block;font-size:24px}
.sbk-times{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}
