/* お店が自分で書き換える欄（site-cms）。全店共通の部品。編集モードのときだけ効く */
.cms-bar{position:sticky;top:0;z-index:1000;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;background:#1f2937;color:#fff;font-size:13px;padding:8px 14px}
.cms-bar b{color:#fde68a}
.cms-bar .cms-next{background:#2a6fdb;color:#fff}
.cms-bar .cms-out{margin-left:auto}
.cms-bar button{font:inherit;background:#fff;color:#1f2937;border:0;border-radius:999px;padding:4px 12px;cursor:pointer}
.cms-on .cms-block{outline:2px dashed #2a6fdb;outline-offset:4px;position:relative;min-height:1.6em;background:rgba(42,111,219,.07);border-radius:6px;scroll-margin-top:110px}
.cms-on .cms-block.cms-focus{outline:3px solid #f2a900;background:rgba(242,169,0,.12)}
.cms-tag{position:absolute;top:-14px;left:-4px;z-index:5;font:700 11px/1 sans-serif;background:#2a6fdb;color:#fff;border-radius:6px;padding:4px 8px;white-space:nowrap;max-width:70%;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.cms-on .cms-block[hidden]{display:block}
.cms-edit{position:absolute;top:-12px;right:-6px;z-index:5;font:700 12px/1 sans-serif;background:#2a6fdb;color:#fff;border:0;border-radius:999px;padding:6px 12px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.cms-hint{display:block;color:#1d4f9e;font-size:13px}
.cms-modal{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.45);display:grid;place-items:center;padding:16px}
.cms-box{background:#fff;color:#1c1f23;border-radius:14px;padding:20px;width:min(560px,100%);max-height:90vh;overflow:auto;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.cms-box h3{margin:0 0 8px;font-size:18px}
.cms-box p{margin:0 0 8px;font-size:14px}
.cms-note{color:#555c64;font-size:13px !important}
.cms-input{width:100%;box-sizing:border-box;font:16px/1.7 inherit;border:1.5px solid #cfd4da;border-radius:10px;padding:10px 12px;margin:4px 0 8px}
.cms-err{color:#b42318}
.cms-btns{display:flex;justify-content:center;gap:10px;margin-top:6px}
.cms-btns button{font:700 15px inherit;border-radius:999px;padding:10px 22px;cursor:pointer;border:0}
.cms-cancel{background:#eef0f2;color:#1c1f23}
.cms-ok{background:#2a6fdb;color:#fff}
.cms-ok:disabled{opacity:.6}
.cms-toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);z-index:2100;background:#1f2937;color:#fff;font-size:14px;padding:12px 18px;border-radius:12px;max-width:calc(100% - 32px);box-shadow:0 6px 20px rgba(0,0,0,.3)}
.cms-login{font-size:12px;color:inherit;opacity:.7}
