/* ============================================================
 * DURUPRINT – Direkt-Canvas-Editor
 * Direkte Auswahl, Drag, Skalierung, Rotation, Lock & Delete
 * ============================================================ */

#holocard-editors .dp-canvas-addbar {
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  align-items:center;
}

#holocard-editors .dp-add-text,
#holocard-editors .dp-add-image-label {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:.35rem .7rem;
  border:1px solid #111;
  border-radius:5px;
  background:#fff;
  color:#111;
  font-size:.86rem;
  font-weight:600;
  line-height:1.2;
  cursor:pointer;
  user-select:none;
}

#holocard-editors .dp-add-text:hover,
#holocard-editors .dp-add-image-label:hover {
  background:#111;
  color:#fff;
}

#holocard-editors .dp-add-image-label.is-uploading {
  opacity:.6;
  pointer-events:none;
}

#holocard-editors .dp-canvas-hint {
  font-size:.78rem;
  line-height:1.4;
  color:#666;
}

/* Die eigentliche Bearbeitungsfläche liegt direkt auf der Kartenvorderseite. */
.holocard-preview .ec-face--front {
  position:absolute;
}

.dp-canvas-layer {
  position:absolute;
  inset:0;
  z-index:50;
  pointer-events:none;
  transform-style:preserve-3d;
}

.dp-canvas-item {
  position:absolute;
  box-sizing:border-box;
  min-width:10px;
  min-height:10px;
  transform-origin:center center;
  pointer-events:auto;
  touch-action:none;
  cursor:move;
  user-select:none;
  outline:0 solid transparent;
}

.dp-canvas-item[hidden] {
  display:none !important;
}

.dp-canvas-item.is-selected {
  outline:1.5px dashed #159ee4;
  outline-offset:0;
}

.dp-canvas-item.is-locked {
  cursor:default;
}

.dp-canvas-item--text {
  display:flex;
  align-items:center;
  overflow:visible;
  white-space:normal;
}

.dp-canvas-item--text > .dp-canvas-text,
.dp-canvas-item--text > p {
  box-sizing:border-box;
  width:100%;
  height:100%;
  margin:0 !important;
  padding:0 !important;
  line-height:1.2;
  color:inherit;
  pointer-events:none;
  overflow:visible;
  white-space:pre-wrap;
  word-break:normal;
}

.dp-canvas-item--text.is-editing {
  cursor:text;
  outline-style:solid;
}

.dp-canvas-item--text.is-editing > .dp-canvas-text,
.dp-canvas-item--text.is-editing > p {
  pointer-events:auto;
  user-select:text;
  cursor:text;
}

.dp-canvas-item--image,
.dp-canvas-item--logo {
  display:flex;
  align-items:center;
  justify-content:center;
}

.dp-canvas-item--image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
}

/*
 * Die bestehenden Logo-Slots sind in den Templates vollflächig. Sobald sie
 * im Canvas-Wrapper liegen, übernimmt der Wrapper Größe und Position.
 */
.dp-canvas-item--logo > .ec-logo-slot,
.dp-canvas-item--logo > .dp-emboss-logo-slot,
.dp-canvas-item--logo > .dp-gold-logo-slot,
.dp-canvas-item--logo > .dp-metal-logo-slot,
.dp-canvas-item--logo > .dp-logo-slot {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  transform:none !important;
  display:grid !important;
  place-items:center !important;
  pointer-events:none !important;
}

.dp-canvas-item--logo > .ec-logo-slot svg,
.dp-canvas-item--logo > .dp-emboss-logo-slot svg,
.dp-canvas-item--logo > .dp-gold-logo-slot svg,
.dp-canvas-item--logo > .dp-metal-logo-slot svg,
.dp-canvas-item--logo > .dp-logo-slot svg {
  display:block !important;
  inline-size:100% !important;
  block-size:100% !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  overflow:visible !important;
  pointer-events:none !important;
}

/* Vier Eckgriffe plus Rotationsgriff. */
.dp-canvas-handle {
  position:absolute;
  z-index:5;
  width:12px;
  height:12px;
  box-sizing:border-box;
  border:1px solid #777;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.18);
  pointer-events:auto;
  touch-action:none;
}

.dp-canvas-handle--nw { left:-6px; top:-6px; cursor:nwse-resize; }
.dp-canvas-handle--ne { right:-6px; top:-6px; cursor:nesw-resize; }
.dp-canvas-handle--sw { left:-6px; bottom:-6px; cursor:nesw-resize; }
.dp-canvas-handle--se { right:-6px; bottom:-6px; cursor:nwse-resize; background:#d8edf8; }

.dp-canvas-rotate-stem {
  position:absolute;
  left:50%;
  bottom:-28px;
  width:1px;
  height:20px;
  background:#159ee4;
  transform:translateX(-50%);
  pointer-events:none;
}

.dp-canvas-handle--rotate {
  left:50%;
  bottom:-39px;
  transform:translateX(-50%);
  cursor:grab;
  border-color:#159ee4;
}

.dp-canvas-handle--rotate:active { cursor:grabbing; }

.dp-canvas-item:not(.is-selected) > .dp-canvas-handle,
.dp-canvas-item:not(.is-selected) > .dp-canvas-rotate-stem,
.dp-canvas-item.is-locked > .dp-canvas-handle,
.dp-canvas-item.is-locked > .dp-canvas-rotate-stem {
  display:none;
}

/* Werkzeugleiste wird in body als fixed overlay gerendert. */
.dp-canvas-floating-toolbar {
  position:fixed;
  z-index:2147482000;
  display:none;
  align-items:center;
  gap:4px;
  padding:6px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:rgba(255,255,255,.97);
  box-shadow:0 4px 18px rgba(0,0,0,.13);
  backdrop-filter:blur(6px);
}

.dp-canvas-floating-toolbar.is-visible { display:flex; }

.dp-canvas-floating-toolbar button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  padding:0;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#111;
  cursor:pointer;
}

.dp-canvas-floating-toolbar button:hover {
  background:#f0f0f0;
}

.dp-canvas-floating-toolbar button:disabled {
  opacity:.35;
  cursor:not-allowed;
}

.dp-canvas-floating-toolbar button svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}

.dp-canvas-floating-toolbar .dp-canvas-lock-btn[data-locked="1"] {
  background:#edf7ed;
}

.dp-canvas-selection-label {
  display:none;
  margin-left:.25rem;
  font-size:.78rem;
  color:#666;
}

@media (max-width: 640px) {
  .dp-canvas-handle {
    width:14px;
    height:14px;
  }
  .dp-canvas-handle--nw { left:-7px; top:-7px; }
  .dp-canvas-handle--ne { right:-7px; top:-7px; }
  .dp-canvas-handle--sw { left:-7px; bottom:-7px; }
  .dp-canvas-handle--se { right:-7px; bottom:-7px; }
}


/* Dynamisch hinzugefügte Texte erscheinen zusätzlich im bestehenden Texteditor. */
#holocard-editors .dp-custom-text-fields {
  display:flex;
  flex-direction:column;
  gap:.35rem;
}

#holocard-editors .dp-custom-text-field {
  display:flex;
  flex-direction:column;
  gap:.15rem;
  font-size:.9rem;
}

#holocard-editors .dp-custom-text-label {
  font-weight:600;
}

#holocard-editors .dp-custom-text-input {
  width:100%;
  box-sizing:border-box;
  border:1px solid #ddd;
  padding:.4rem .5rem;
  border-radius:4px;
  background:#fff;
}

#holocard-editors .dp-custom-text-field.is-selected .dp-custom-text-input {
  border-color:#159ee4;
  box-shadow:0 0 0 1px rgba(21,158,228,.2);
}

#holocard-editors .dp-custom-text-field.is-locked {
  opacity:.62;
}

#holocard-editors .dp-custom-text-input:disabled {
  cursor:not-allowed;
  background:#f4f4f4;
}

/* Text-specific finish controls; the original logo effects remain independent. */
.dp-canvas-floating-toolbar{flex-wrap:wrap;max-width:calc(100vw - 16px);box-sizing:border-box}
.dp-canvas-floating-toolbar [hidden]{display:none !important}
.dp-canvas-floating-toolbar .dp-canvas-finish-btn{width:auto;min-height:40px;padding:0 10px;font:inherit;font-size:13px;font-weight:600}
.dp-canvas-floating-toolbar .dp-canvas-finish-btn[data-active="1"]{background:#f6edda;color:#6b4f19}
.dp-canvas-floating-toolbar :focus-visible{outline:2px solid #159ee4;outline-offset:2px}
.dp-canvas-finish-controls{flex-basis:100%;padding:4px;width:220px}
.dp-canvas-finish-controls label{display:flex;flex-direction:column;gap:5px;font:13px/1.3 sans-serif;color:#333}
.dp-canvas-finish-select{width:100%;min-height:40px;padding:6px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#222;font:inherit}
.dp-canvas-item--text[data-finish="print"] > .dp-canvas-text{background:none !important;-webkit-text-fill-color:currentColor;text-shadow:none !important}
.dp-canvas-item--text[data-finish="blind"] > .dp-canvas-text{color:var(--ec-front,#e8e1d5) !important;-webkit-text-fill-color:currentColor;background:none !important;text-shadow:var(--dp-text-light-x,var(--ec-dxL,-.65px)) -.7px .35px #ffffffa8,var(--dp-text-shadow-x,var(--ec-dxS,.7px)) .9px .65px #0009}
.dp-canvas-item--text[data-finish="foil"],.dp-canvas-item--text[data-finish="foil-emboss"]{--dp-text-metal:linear-gradient(var(--shine-angle,125deg),#755118 0%,#c79b35 24%,#fff1b0 43%,#fffbea 49%,#a27220 60%,#e6c164 78%,#785619 100%)}
.ec-card.is-silver .dp-canvas-item--text{--dp-text-metal:linear-gradient(var(--shine-angle,125deg),#626873 0%,#c5cbd4 24%,#faffff 43%,#fff 49%,#939da9 60%,#e2e8ee 78%,#696f78 100%)}
.ec-card.is-copper .dp-canvas-item--text{--dp-text-metal:linear-gradient(var(--shine-angle,125deg),#70351f 0%,#c57950 24%,#ffd8b8 43%,#fff1dd 49%,#a7532d 60%,#e7a979 78%,#794026 100%)}
.dp-canvas-item--text[data-finish="foil"] > .dp-canvas-text,.dp-canvas-item--text[data-finish="foil-emboss"] > .dp-canvas-text{color:#b78c35 !important;background-image:var(--dp-text-metal) !important;background-size:220% 100% !important;background-position:var(--shine-pos,50%) 50% !important;background-repeat:no-repeat !important;background-clip:text !important;-webkit-background-clip:text !important;-webkit-text-fill-color:transparent;caret-color:#159ee4}
/* Foil-only retains the inset look; the combined finish has raised relief. */
.dp-canvas-item--text[data-finish="foil"] > .dp-canvas-text{text-shadow:.45px .65px .55px #0005,-.35px -.45px .35px #ffffff55}
.dp-canvas-item--text[data-finish="foil-emboss"] > .dp-canvas-text{text-shadow:var(--dp-text-light-x,var(--ec-dxL,-.6px)) -.75px .35px #ffffff70,var(--dp-text-shadow-x,var(--ec-dxS,.65px)) 1px .7px #0008}
@media(max-width:640px){.dp-canvas-floating-toolbar button{min-width:40px;min-height:40px}.dp-canvas-floating-toolbar .dp-canvas-finish-btn{min-height:44px}.dp-canvas-finish-select{min-height:44px}}

/* v3.1 Schriftlogo: the original text retains layout and editing semantics. */
.dp-wordmark-svg{position:absolute;top:0;overflow:visible;pointer-events:none;z-index:1;max-width:none}
.dp-canvas-item[data-svg-ready="1"] > .dp-canvas-text{opacity:0}
.dp-canvas-item.is-editing > .dp-canvas-text{opacity:1}
.dp-canvas-item.is-editing > .dp-wordmark-svg{display:none}
.dp-wordmark-status{flex-basis:100%;max-width:290px;font:12px/1.4 sans-serif;color:#333}
.dp-wordmark-status:empty{display:none}
.dp-canvas-item--text[data-finish="blind"] > .dp-canvas-text{color:var(--ec-paper-color,#e8e1d5) !important}
.dp-canvas-floating-toolbar{max-width:calc(100vw - 16px);flex-wrap:wrap}

.dp-create-wordmark{border:1px solid #ac853c;border-radius:8px;padding:10px 14px;background:#faf3e6;color:#604819;font:inherit;font-weight:600;cursor:pointer;min-height:44px}
.dp-create-wordmark:hover{background:#f2e4c8}
.dp-create-wordmark:focus-visible{outline:2px solid #159ee4;outline-offset:3px}
