/* The reference appearance is scoped so the shortcode can coexist with a WordPress theme. */
.bookit-app{--blue:#1F4E78;--blue2:#2E6CA6;--bg:#f4f6f9;--card:#fff;--line:#e6ebf1;--txt:#1f2d3d;--mut:#6b7785;--ok:#2e8b57;--warn:#c0392b;--amber:#b9770e;}
.bookit-app, .bookit-app *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
.bookit-app{margin:0;min-width:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--txt);font-size:14px;line-height:1.55;padding-bottom:64px;}
.bookit-app .appbar{position:relative;z-index:20;background:var(--blue);color:#fff;padding:10px 14px;box-shadow:0 2px 6px rgba(0,0,0,.12);}
.bookit-app .abrow{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.bookit-app .appbar h1{margin:0;font-size:16px;font-weight:700;}
.bookit-app .langsel{background:#fff;color:var(--blue);border:0;border-radius:8px;padding:7px 8px;font-size:13px;font-weight:700;cursor:pointer;max-width:130px;}
.bookit-app .tabs{display:flex;background:var(--blue);position:relative;z-index:19;border-top:1px solid rgba(255,255,255,.15);}
.bookit-app .tabs button{flex:1;background:none;border:0;color:#cfe0f0;padding:11px 0;font-size:13px;font-weight:600;cursor:pointer;border-bottom:3px solid transparent;}
.bookit-app .tabs button.on{color:#fff;border-bottom-color:#fff;}
.bookit-app .wrap{padding:12px;}
.bookit-app .search{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:#fff;margin-bottom:10px;}
.bookit-app .chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.bookit-app .chip{padding:6px 13px;border-radius:18px;background:#fff;border:1px solid var(--line);font-size:12px;color:var(--mut);cursor:pointer;}
.bookit-app .chip.on{background:var(--blue);color:#fff;border-color:var(--blue);}
.bookit-app .count{font-size:12px;color:var(--mut);margin:2px 2px 10px;}
.bookit-app .card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 14px;margin-bottom:10px;box-shadow:0 1px 2px rgba(0,0,0,.03);cursor:pointer;}
.bookit-app .card .top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;}
.bookit-app .card .cn{font-size:15px;font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.bookit-app .reb{display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#e67e22;border-radius:8px;padding:1px 7px;vertical-align:middle;white-space:nowrap;}
.bookit-app .card .jp{font-size:11px;color:var(--mut);margin-top:2px;}
.bookit-app .card .meta{font-size:12px;color:var(--mut);margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;}
.bookit-app .tag{background:#eef3f9;color:var(--blue2);padding:2px 8px;border-radius:6px;font-size:11px;}
.bookit-app .tag.price{background:#eafaf0;color:var(--ok);font-weight:700;}
.bookit-app .badge{font-size:11px;padding:3px 9px;border-radius:12px;font-weight:700;white-space:nowrap;}
.bookit-app .badge.ok{background:#eafaf0;color:var(--ok);}
.bookit-app .badge.warn{background:#fdecea;color:var(--warn);}
.bookit-app .badge.hold{background:#fff4e0;color:var(--amber);}
.bookit-app .badge.sell{background:#eaf3fb;color:var(--blue2);}
.bookit-app .detail{display:none;margin-top:11px;padding-top:11px;border-top:1px dashed var(--line);font-size:13px;}
.bookit-app .detail.on{display:block;}
.bookit-app .detail .row{margin-bottom:7px;}
.bookit-app .detail .k{color:var(--mut);font-size:11px;display:block;margin-bottom:1px;}
.bookit-app .btns{display:flex;gap:8px;margin-top:10px;}
.bookit-app .btn{flex:1;text-align:center;padding:9px 0;border-radius:9px;font-size:13px;font-weight:600;text-decoration:none;border:0;cursor:pointer;}
.bookit-app .btn.map{background:var(--blue);color:#fff;}
.bookit-app .btn.copy{background:#eef3f9;color:var(--blue2);border:1px solid #d6e2f0;}
.bookit-app .toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);background:rgba(31,45,61,.92);color:#fff;padding:10px 18px;border-radius:22px;font-size:13px;opacity:0;transition:.25s;z-index:50;pointer-events:none;}
.bookit-app .toast.on{opacity:1;}
.bookit-app .faq .item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:9px;}
.bookit-app .faq .q{font-weight:700;font-size:13px;color:var(--blue);}
.bookit-app .faq .a{font-size:13px;margin-top:4px;color:#33414f;}
.bookit-app .warnbox{background:#fdecea;border:1px solid #f5c6c0;border-radius:10px;padding:11px 13px;font-size:12px;color:#8a2b22;margin-bottom:12px;}
.bookit-app .note{font-size:11px;color:var(--mut);margin-top:10px;text-align:center;}
body.bookit-directory-page{margin:0;background:#f4f6f9;}
.bookit-app .bookit-header{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:20;}
.bookit-app [hidden]{display:none!important;}
.bookit-app button,.bookit-app input,.bookit-app select,.bookit-app textarea{box-sizing:border-box;}
.bookit-app .chip{font-family:inherit;line-height:inherit;font-weight:400;letter-spacing:normal;text-transform:none;}
.bookit-app .card-toggle{appearance:none;display:block;width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit;line-height:inherit;text-align:left;letter-spacing:normal;text-transform:none;cursor:pointer;}
.bookit-app .card .names{display:block;min-width:0;}
.bookit-app .card .jp{display:block;}
.bookit-app .card .cn,.bookit-app .detail,.bookit-app .faq{overflow-wrap:anywhere;}
.bookit-app .search{height:auto;color:var(--txt);outline-offset:2px;}
.bookit-app .search::placeholder{opacity:1;color:#757575;}
.bookit-app .appbar h1{color:inherit;line-height:1.55;letter-spacing:normal;text-transform:none;}
.bookit-app .faq .q{margin:0;line-height:inherit;letter-spacing:normal;text-transform:none;}
.bookit-app .tabs button,.bookit-app .langsel,.bookit-app .btn{margin:0;line-height:normal;letter-spacing:normal;text-transform:none;}
.bookit-app .btn.map{display:block;line-height:1.55;font-family:inherit;}
.bookit-app .btn{font-family:Arial,sans-serif;}
.bookit-app .btn:disabled{opacity:.5;cursor:not-allowed;}
.bookit-app button:focus-visible,.bookit-app a:focus-visible,.bookit-app select:focus-visible,.bookit-app input:focus-visible,.bookit-app textarea:focus-visible{outline:2px solid #2E6CA6;outline-offset:3px;}
.bookit-app .tabs button:focus-visible{outline:2px solid #fff;outline-offset:-5px;}
.bookit-app .toast{max-width:calc(100vw - 24px);width:max-content;text-align:center;}
.bookit-app .copy-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--line);border-radius:12px;padding:20px;color:var(--txt);background:#fff;font:inherit;box-shadow:0 12px 50px #0003;}
.bookit-app .copy-dialog::backdrop{background:rgba(31,45,61,.45);}
.bookit-app .copy-dialog-title{margin:0 0 8px;font-size:16px;color:var(--blue);}
.bookit-app .copy-dialog-help{margin:0 0 12px;}
.bookit-app .copy-text{display:block;resize:vertical;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--txt);background:#f4f6f9;font:inherit;}
.bookit-app .copy-dialog-fallback[open]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;z-index:100;}
@media(max-width:600px){body.admin-bar .bookit-app .bookit-header{top:0;}}
@media(prefers-reduced-motion:reduce){.bookit-app .toast{transition:none;}}
