/* ── BASE VISIBILITY ─────────────────────────────────────── */
.cms-toolbar,.cms-block-menu,.cms-section-menu,.cms-extra-tools{display:none!important}
.cms-editing .cms-toolbar{display:flex!important}
.cms-editing .cms-block-menu,.cms-editing .cms-section-menu{display:block!important}
.cms-editing [data-cms-id]:hover,.cms-editing [data-cms-extra]:hover{outline:2px dashed rgba(201,138,74,.7)!important;outline-offset:2px}

/* ── TOOLBAR ─────────────────────────────────────────────── */
.cms-toolbar{position:fixed;left:10px;right:10px;bottom:10px;z-index:999999;background:#1b1b1d;color:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;box-shadow:0 8px 28px rgba(0,0,0,.45);font:13px system-ui,-apple-system,sans-serif}
.cms-toolbar button,.cms-toolbar a{background:#303033;color:#fff;border:0;border-radius:10px;padding:10px 15px;font-size:12px;font-weight:800;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s}
.cms-toolbar .cms-publish-live{background:#168b36;font-size:13px;padding:11px 18px;letter-spacing:.02em}
.cms-toolbar .cms-publish-live:hover{background:#0f6f2a}
.cms-toolbar .cms-exit{background:#5b3322}
.cms-toolbar button:disabled{opacity:.55;cursor:wait}

/* ── OVERLAY LAYER ───────────────────────────────────────── */
.cms-editor-layer{position:fixed;inset:0;z-index:999990;pointer-events:none}
.cms-block-menu,.cms-section-menu{position:fixed;font:12px system-ui,-apple-system,sans-serif;margin:0!important;opacity:0;pointer-events:none;transition:opacity .12s ease}

.cms-editing .cms-block-menu.cms-visible,
.cms-editing .cms-block-menu:hover,
.cms-editing .cms-block-menu.open,
.cms-editing .cms-block-menu.force-show,
.cms-editing .cms-section-menu.cms-visible,
.cms-editing .cms-section-menu:hover,
.cms-editing .cms-section-menu.open,
.cms-editing .cms-section-menu.force-show{opacity:1;pointer-events:auto}

/* ── MENU TRIGGER BUTTON ─────────────────────────────────── */
.cms-menu-trigger{width:30px;height:28px;border:1px solid rgba(122,59,30,.35);border-radius:8px;background:rgba(255,250,244,.97);color:#7a3b1e;font-size:15px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18)}

/* ── MENU PANEL ──────────────────────────────────────────── */
.cms-menu-panel{display:none;position:absolute;top:32px;right:0;min-width:168px;max-height:min(60vh,420px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:5px;background:#fffaf4;border:1px solid #e5d8cb;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.2)}
.cms-block-menu.open .cms-menu-panel,.cms-section-menu.open .cms-menu-panel{display:flex;flex-direction:column;gap:3px}
/* When there isn't room below/right of the trigger, the panel flips to
   open upward and/or to the left so every option stays on-screen and
   reachable, instead of rendering past the edge of the viewport. */
.cms-menu-panel.cms-panel-up{top:auto;bottom:32px}
.cms-menu-panel.cms-panel-left{right:auto;left:0}
.cms-menu-panel button{border:0;border-radius:8px;background:#7a3b1e;color:#fff;padding:9px 11px;text-align:left;font:700 11px system-ui,-apple-system,sans-serif;cursor:pointer;white-space:nowrap;transition:opacity .1s}
.cms-menu-panel button:hover{opacity:.88}
.cms-menu-panel button.danger{background:#c72f2f}
.cms-menu-panel button.crop{background:#1a5c8a}
.cms-menu-panel button.move{background:#5a4a3a}

/* ── EXTRA MEDIA BLOCKS ──────────────────────────────────── */
.cms-extra-media{position:relative;min-width:0;margin:8px 0;border:1px solid #eadfd5;border-radius:10px;overflow:visible;background:#fff}
.cms-extra-image{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:10px}
.cms-extra-video{display:block;width:100%;height:auto;max-height:520px;background:#111;border-radius:10px}
.cms-editing .cms-extra-tools{display:none!important}

/* ── TOAST ───────────────────────────────────────────────── */
.cms-toast{position:fixed;bottom:68px;left:10px;right:10px;z-index:999999;background:#1c1c1e;color:#fff;padding:11px 16px;border-radius:10px;font:600 13px system-ui,-apple-system,sans-serif;opacity:0;transform:translateY(8px);transition:all .22s;pointer-events:none;text-align:center;max-width:400px;margin:0 auto}
.cms-toast.show{opacity:1;transform:translateY(0)}

/* ── ADD TEXT MODAL ──────────────────────────────────────── */
.cms-text-modal{position:fixed;inset:0;z-index:9999999;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.cms-text-modal-box{background:#fff;border-radius:18px;width:100%;max-width:420px;box-shadow:0 24px 60px rgba(0,0,0,.3);overflow:hidden}
.cms-text-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid #f0e8e0;font:700 15px system-ui,-apple-system,sans-serif;color:#2a1a12}
.cms-text-modal-close{border:0;background:none;font-size:18px;cursor:pointer;color:#9a8070;padding:4px 8px;border-radius:6px}
.cms-text-modal-close:hover{background:#f0e8e0}
.cms-text-modal-input{display:block;width:100%;padding:14px 18px;border:0;border-bottom:1px solid #f0e8e0;font:14px/1.55 system-ui,-apple-system,sans-serif;resize:vertical;min-height:120px;outline:none;color:#2a1a12}
.cms-text-modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px}
.cms-text-modal-cancel{border:0;border-radius:9px;padding:10px 16px;background:#f1e8df;color:#5a3928;font:700 13px system-ui,-apple-system,sans-serif;cursor:pointer}
.cms-text-modal-save{border:0;border-radius:9px;padding:10px 18px;background:#168b36;color:#fff;font:700 13px system-ui,-apple-system,sans-serif;cursor:pointer}
.cms-text-modal-save:hover{background:#0f6f2a}
.cms-text-modal-save:disabled{opacity:.6;cursor:wait}

/* ── RESIZE MODAL ─────────────────────────────────────────── */
.cms-size-options{display:flex;flex-direction:column;gap:8px;padding:16px 18px}
.cms-size-options button{border:0;border-radius:9px;padding:12px 14px;background:#f1e8df;color:#3a2418;font:700 14px system-ui,-apple-system,sans-serif;cursor:pointer;text-align:left}
.cms-size-options button:hover{background:#e5d8cb}
.cms-size-options button[data-pct=""]{background:#1a5c8a;color:#fff}
.cms-size-options button[data-pct=""]:hover{background:#154b71}

/* ── CROP MODAL ──────────────────────────────────────────── */
.cms-crop-modal{position:fixed;inset:0;z-index:9999999;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;padding:12px}
.cms-crop-modal-box{background:#1a1a1d;border-radius:18px;width:100%;max-width:400px;box-shadow:0 24px 60px rgba(0,0,0,.5);overflow:hidden;color:#fff}
.cms-crop-modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid #2c2c30;font:700 15px system-ui,-apple-system,sans-serif}
.cms-crop-close{border:0;background:rgba(255,255,255,.1);font-size:16px;cursor:pointer;color:#ccc;padding:5px 10px;border-radius:7px}
.cms-crop-close:hover{background:rgba(255,255,255,.2)}
.cms-crop-stage{position:relative;display:flex;align-items:center;justify-content:center;background:#111;min-height:120px;padding:16px;overflow:hidden}
.cms-crop-canvas{display:block;max-width:100%;image-rendering:auto;opacity:.55;border-radius:4px}
.cms-crop-overlay{position:absolute;border:2px solid #f0b429;box-shadow:0 0 0 9999px rgba(0,0,0,.45);pointer-events:none;border-radius:2px}
.cms-crop-handle{position:absolute;width:16px;height:16px;background:#f0b429;border-radius:3px;cursor:grab;touch-action:none;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.cms-crop-handle:active{cursor:grabbing}
.cms-crop-info{padding:10px 18px;font-size:12px;color:#9a9aaa;border-top:1px solid #2c2c30;text-align:center}
.cms-crop-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid #2c2c30}
.cms-crop-cancel{border:0;border-radius:9px;padding:10px 16px;background:#2c2c30;color:#ccc;font:700 13px system-ui,-apple-system,sans-serif;cursor:pointer}
.cms-crop-apply{border:0;border-radius:9px;padding:10px 20px;background:#168b36;color:#fff;font:700 13px system-ui,-apple-system,sans-serif;cursor:pointer}
.cms-crop-apply:hover{background:#0f6f2a}
.cms-crop-apply:disabled{opacity:.6;cursor:wait}

@media(max-width:650px){
 .cms-toolbar{bottom:7px;left:7px;right:7px;gap:5px}
 .cms-toolbar button,.cms-toolbar a{padding:9px 11px;font-size:11px}
 .cms-toolbar .cms-publish-live{padding:10px 14px;font-size:12px}
 .cms-menu-panel{min-width:155px}
 .cms-crop-modal-box,.cms-text-modal-box{border-radius:14px}
}
