html.carrrven-visual-edit-mode { --cve-accent: #e7c08e; }
.cve-toggle {
  min-height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 0 13px;
  border: 1px solid rgba(92,64,63,.72); border-radius: 10px; background: #201f1f;
  color: #e4bdbc; font-family: 'Geist Mono', monospace; font-size: 10px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; cursor: pointer;
  transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.cve-toggle:hover { border-color: #e7c08e; color: #e7c08e; }
.cve-toggle.is-active { background: rgba(188,0,45,.18); border-color: #bc002d; color: #ffc9c8; }
.cve-toggle__icon { font-size: 18px; }
@media (max-width: 880px) { .cve-toggle__text { display:none; } .cve-toggle { width:40px; padding:0; justify-content:center; } }

.carrrven-visual-edit-mode .cve-text-host { position: relative !important; outline: 1px dashed transparent; outline-offset: 3px; }
.carrrven-visual-edit-mode .cve-text-host:hover { outline-color: rgba(231,192,142,.55); }
.cve-pencil {
  position: absolute; z-index: 90; right: -8px; top: -8px; width: 23px; height: 23px;
  display: inline-flex; align-items: center; justify-content: center; border-radius: 50%;
  border: 1px solid rgba(231,192,142,.75); background: #151414; color: #e7c08e;
  font-size: 14px !important; line-height: 1; cursor: pointer; box-shadow: 0 4px 16px rgba(0,0,0,.35);
  opacity: .2; transform: scale(.9); transition: opacity .14s ease, transform .14s ease;
}
.cve-text-host:hover > .cve-pencil, .cve-pencil:focus { opacity: 1; transform: scale(1); }

.cve-dialog-backdrop { display:none; position:fixed; inset:0; z-index:10000; align-items:center; justify-content:center; padding:24px; background:rgba(0,0,0,.76); backdrop-filter:blur(8px); }
.cve-dialog-backdrop.is-open { display:flex; }
.cve-dialog { width:min(680px,96vw); max-height:90vh; overflow:auto; border:1px solid rgba(92,64,63,.78); background:#171616; color:#e5e2e1; box-shadow:0 30px 90px rgba(0,0,0,.55); }
.cve-dialog__header { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; padding:22px 24px 18px; border-bottom:1px solid rgba(92,64,63,.45); }
.cve-dialog__kicker { color:#e7c08e; font:700 10px/1.4 'Geist Mono',monospace; text-transform:uppercase; letter-spacing:.16em; }
.cve-dialog__title { margin:5px 0 0; font:700 22px/1.2 'Sora',sans-serif; }
.cve-dialog__close { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(92,64,63,.65); background:#201f1f; color:#e4bdbc; cursor:pointer; }
.cve-dialog__body { display:grid; gap:16px; padding:22px 24px; }
.cve-field { display:grid; gap:7px; color:#e4bdbc; font:700 10px/1.4 'Geist Mono',monospace; text-transform:uppercase; letter-spacing:.12em; }
.cve-field select, .cve-field textarea { width:100%; box-sizing:border-box; border:1px solid rgba(92,64,63,.72); border-radius:8px; background:#0e0e0e; color:#e5e2e1; padding:12px 14px; font:600 14px/1.5 'Hanken Grotesk',sans-serif; text-transform:none; letter-spacing:normal; outline:none; }
.cve-field select:focus, .cve-field textarea:focus { border-color:#e7c08e; }
.cve-dialog__note { min-height:18px; margin:0; color:#e7c08e; font:600 11px/1.5 'Geist Mono',monospace; }
.cve-dialog__footer { display:flex; justify-content:flex-end; gap:10px; padding:16px 24px 22px; border-top:1px solid rgba(92,64,63,.35); }
.cve-button { min-height:40px; padding:0 18px; border-radius:8px; font:700 10px/1 'Geist Mono',monospace; text-transform:uppercase; letter-spacing:.1em; cursor:pointer; }
.cve-button--ghost { background:transparent; border:1px solid rgba(92,64,63,.72); color:#e4bdbc; }
.cve-button--primary { background:#bc002d; border:1px solid #bc002d; color:#ffc9c8; }
.cve-button:disabled { opacity:.5; cursor:wait; }

.carrrven-visual-edit-mode .cve-dashboard-widget { position:relative; transition:outline-color .15s ease, opacity .15s ease; outline:1px dashed rgba(231,192,142,.28); outline-offset:3px; }
.cve-dashboard-handle { position:absolute; z-index:80; top:10px; right:10px; width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(231,192,142,.65); border-radius:8px; background:#151414; color:#e7c08e; cursor:grab; opacity:.7; }
.cve-dashboard-handle:hover { opacity:1; }
.cve-dashboard-handle:active { cursor:grabbing; }
.cve-dashboard-widget.is-dragging { opacity:.45; }
.cve-dashboard-widget.is-drop-target { outline:2px solid #e7c08e; outline-offset:5px; }
