body.cms-editing [data-edit]{outline:2px dashed rgba(217,154,99,.7);outline-offset:3px;border-radius:4px;cursor:text}
body.cms-editing [data-edit]:hover,body.cms-editing [data-edit]:focus{outline-color:#D99A63;outline-style:solid}
body.cms-hasbar{padding-top:52px}

#cms-bar{position:fixed;top:0;left:0;right:0;height:52px;z-index:99999;background:#2b1d22;color:#f6efea;
  display:flex;align-items:center;gap:14px;padding:0 16px;font:600 14px/1 ui-sans-serif,system-ui,sans-serif;box-shadow:0 4px 20px rgba(0,0,0,.25)}
#cms-bar .cms-brand{font-weight:700}
#cms-bar .cms-hint{font-weight:400;opacity:.7;font-size:12px}
#cms-bar .cms-sp{flex:1}
#cms-bar button{font:inherit;padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:transparent;color:inherit;cursor:pointer}
#cms-bar button.pri{background:linear-gradient(135deg,#D99A63,#E7B587);color:#2b1d16;border-color:transparent}
#cms-bar button:disabled{opacity:.6;cursor:default}
@media (max-width:640px){#cms-bar .cms-hint{display:none}}

.cms-modal{position:fixed;inset:0;z-index:100000;background:rgba(20,12,16,.55);display:grid;place-items:center;backdrop-filter:blur(4px)}
.cms-card{background:#fff;color:#2b1d22;border-radius:18px;padding:28px;width:min(380px,90vw);box-shadow:0 30px 80px rgba(0,0,0,.4);font-family:ui-sans-serif,system-ui,sans-serif}
.cms-card h3{margin:0 0 6px;font-size:1.3rem}
.cms-card p{margin:0 0 16px;color:#6e5661;font-size:.9rem}
.cms-card input{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:10px;font-size:1rem;margin-bottom:14px;font-family:inherit}
.cms-row{display:flex;gap:10px;justify-content:flex-end}
.cms-card button{font:600 14px/1 ui-sans-serif,system-ui,sans-serif;padding:11px 18px;border-radius:999px;border:1px solid #ddd;background:#fff;cursor:pointer}
.cms-card button.pri{background:linear-gradient(135deg,#D99A63,#E7B587);border-color:transparent;color:#2b1d16}
.cms-err{color:#c0392b;font-size:.85rem;margin-top:8px;min-height:1em}

.cms-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:#2b1d22;color:#f6efea;
  padding:12px 20px;border-radius:999px;font:600 14px/1 ui-sans-serif,system-ui,sans-serif;z-index:100001;opacity:0;
  transition:opacity .3s,transform .3s;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.cms-toast.show{opacity:1;transform:translate(-50%,0)}
.cms-toast.err{background:#8a2b23}

.cms-tile{position:relative}
.cms-tile .cms-del{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:none;
  background:rgba(20,12,16,.72);color:#fff;font-size:16px;line-height:1;cursor:pointer;z-index:2}
figure.cms-tile img{width:100%;height:100%;object-fit:cover;display:block}
.cms-addtile{aspect-ratio:1;border:2px dashed rgba(217,154,99,.6);border-radius:14px;background:transparent;color:#D99A63;
  font:600 13px/1.3 ui-sans-serif,system-ui,sans-serif;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.cms-drag{opacity:.4}
.cms-addreview{margin:16px auto 0;display:block;border:2px dashed rgba(217,154,99,.6);background:transparent;color:#D99A63;
  font:600 14px ui-sans-serif,system-ui,sans-serif;padding:12px 20px;border-radius:999px;cursor:pointer}
article.cms-tile .cms-del{top:12px;right:12px}

.cms-photo-ed{position:relative}
.cms-photo-btn{position:absolute;bottom:10px;right:10px;z-index:3;border:none;background:rgba(20,12,16,.78);color:#fff;
  font:600 12px ui-sans-serif,system-ui,sans-serif;padding:8px 12px;border-radius:999px;cursor:pointer}

.cms-addzone{display:block;width:100%;border:2px dashed rgba(217,154,99,.55);background:transparent;color:#D99A63;
  font:600 13px ui-sans-serif,system-ui,sans-serif;padding:12px;border-radius:12px;cursor:pointer}
.zblock.cms-tile{position:relative;margin:14px auto}
.zblock.cms-tile .cms-del{top:8px;right:8px}
.zblock figcaption[contenteditable]{outline:1px dashed rgba(217,154,99,.5);border-radius:6px;min-height:1.1em;padding:2px 6px}
.zblock figcaption[contenteditable]:empty::before{content:attr(data-ph);color:#b6a29a}
.zctrl{display:flex;gap:6px;justify-content:center;margin-top:8px}
.zctrl button{font:600 11px ui-sans-serif,system-ui,sans-serif;border:1px solid #ddd;background:#fff;color:#2b1d22;border-radius:999px;padding:5px 11px;cursor:pointer}
.zctrl button.on{background:linear-gradient(135deg,#D99A63,#E7B587);border-color:transparent;color:#2b1d16}
