/* Digihelfer Studio Builder (minimal) */
.dh-builder-wrap{max-width:1100px;margin:1.5rem auto;padding:0 1rem}
.dh-builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
@media(max-width:900px){.dh-builder-grid{grid-template-columns:1fr}}
.dh-form .dh-section{border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:1rem;background:#fff;margin-bottom:1rem}
.dh-form label{display:block;font-weight:600;margin:.6rem 0 .25rem}
.dh-form input,.dh-form textarea,.dh-form select{width:100%;padding:.55rem .6rem;border:1px solid rgba(0,0,0,.18);border-radius:10px}
.dh-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.dh-actions{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}
.dh-muted{opacity:.75}
.dh-tip{margin-top:.6rem;opacity:.85}
.dh-preview{border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:1rem;background:#fff}
.dh-letter{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.35}
.dh-letter-head{display:flex;justify-content:space-between;gap:1rem}
.dh-sender{font-size:12px;opacity:.9}
.dh-dateplace{font-size:12px;opacity:.9;text-align:right;white-space:nowrap}
.dh-recipient{margin-top:1.25rem}
.dh-subject{margin-top:1.25rem}
.dh-body{margin-top:1rem}
@media print{
  body *{visibility:hidden}
  .dh-preview, .dh-preview *{visibility:visible}
  .dh-preview{position:absolute;left:0;top:0;border:none}
}
.dh-wiki,.dh-catalog{max-width:980px;margin:1.5rem auto;padding:0 1rem}
.dh-search{display:flex;gap:.5rem;margin:.75rem 0}
.dh-search input{flex:1;padding:.55rem .6rem;border:1px solid rgba(0,0,0,.18);border-radius:10px}
.dh-search button{padding:.55rem .9rem;border-radius:10px;border:1px solid rgba(0,0,0,.18);background:#fff}
.dh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
@media(max-width:900px){.dh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dh-grid{grid-template-columns:1fr}}
.dh-card-item{border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:1rem;background:#fff}
.dh-card-link{display:inline-block;margin-top:.75rem}
.dh-studio-box{max-width:980px;margin:1.5rem auto;padding:1rem;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff}


/* Milestone 1B Part 2: cleaner preview / print layout */
.dh-preview{overflow:hidden}
.dh-letter{max-width:190mm;margin:0 auto;background:#fff}
.dh-letter-head{min-height:24mm;align-items:flex-start}
.dh-sender{max-width:55%;line-height:1.35}
.dh-dateplace{max-width:40%;line-height:1.35}
.dh-recipient{margin-top:32mm;min-height:28mm;line-height:1.4}
.dh-recipient-name{display:inline-block;margin-bottom:.15rem}
.dh-subject{margin-top:10mm;font-size:1rem}
.dh-body{margin-top:8mm;line-height:1.55}
.dh-body p{margin:0 0 .9em}

@page{
  size:A4;
  margin:20mm 20mm 20mm 25mm;
}

@media print{
  html,body{height:auto!important;overflow:visible!important;background:#fff}
  body *{visibility:hidden!important}
  .dh-preview,.dh-preview *{visibility:visible!important}
  .dh-preview{position:static!important;left:auto!important;top:auto!important;border:none!important;padding:0!important;margin:0!important;background:#fff!important}
  .dh-builder-wrap,.dh-builder-grid{display:block!important}
  .dh-letter{max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important;border:none!important}
  .dh-letter-head{min-height:24mm!important}
  .dh-recipient{margin-top:32mm!important;min-height:28mm!important}
  .dh-subject{margin-top:10mm!important}
  .dh-body{margin-top:8mm!important}
}


/* Milestone 1B Part 3 – DIN layout approximation */

.dh-letter{
  width:210mm;
  min-height:297mm;
  padding:20mm 20mm 20mm 25mm;
  box-sizing:border-box;
}

.dh-letter-head{
  display:flex;
  justify-content:space-between;
  margin-bottom:10mm;
}

.dh-sender{
  font-size:10px;
  line-height:1.4;
  max-width:60%;
}

.dh-dateplace{
  text-align:right;
  font-size:11px;
}

.dh-recipient{
  margin-top:40mm;
  min-height:30mm;
  line-height:1.45;
}

.dh-subject{
  margin-top:15mm;
  font-size:1rem;
}

.dh-body{
  margin-top:8mm;
  font-size:14px;
  line-height:1.6;
}

@media print{

  .dh-letter{
    width:auto;
    padding:20mm 20mm 20mm 25mm;
  }

  .dh-recipient{
    margin-top:45mm;
  }

  .dh-subject{
    margin-top:12mm;
  }

}



/* Milestone 1B Part 4 – unified preview/print layout */

.dh-letter{
  width:190mm;
  margin:0 auto;
  padding:0;
  box-sizing:border-box;
}

@page{
  size:A4;
  margin:20mm 20mm 20mm 25mm;
}

.dh-letter-head{
  display:flex;
  justify-content:space-between;
  margin-top:0;
}

.dh-sender{
  font-size:10px;
  line-height:1.35;
}

.dh-dateplace{
  font-size:11px;
  text-align:right;
}

.dh-recipient{
  margin-top:45mm;
  min-height:30mm;
  line-height:1.45;
}

.dh-subject{
  margin-top:12mm;
  font-weight:600;
}

.dh-body{
  margin-top:8mm;
  line-height:1.6;
}

@media print{

  body{
    background:#fff;
  }

  .dh-letter{
    width:auto;
  }

  .dh-builder-wrap,
  .dh-builder-grid,
  .dh-form{
    display:none !important;
  }

  .dh-preview{
    width:100%;
  }

}


/* Milestone 1B Part 5 – brief finalisation */
.dh-preview{
  padding:1rem;
  background:#fafafa;
}
.dh-letter{
  width:190mm;
  min-height:257mm;
  margin:0 auto;
  padding:0;
  box-sizing:border-box;
  background:#fff;
}
.dh-letter-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12mm;
  min-height:18mm;
}
.dh-sender{
  max-width:60%;
  font-size:10px;
  line-height:1.35;
  opacity:.95;
}
.dh-dateplace{
  max-width:40%;
  font-size:11px;
  line-height:1.35;
  text-align:right;
  white-space:nowrap;
}
.dh-recipient{
  margin-top:45mm;
  min-height:32mm;
  line-height:1.45;
}
.dh-subject{
  margin-top:12mm;
  font-size:1rem;
  font-weight:700;
}
.dh-body{
  margin-top:8mm;
  font-size:14px;
  line-height:1.6;
}
.dh-body p{
  margin:0 0 0.9em;
}
.dh-signature-space{
  height:16mm;
}
@page{
  size:A4;
  margin:20mm 20mm 20mm 25mm;
}
@media print{
  html,body{
    height:auto !important;
    overflow:visible !important;
    background:#fff !important;
  }
  body *{
    visibility:hidden !important;
  }
  .dh-preview,.dh-preview *{
    visibility:visible !important;
  }
  .dh-preview{
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    border:none !important;
    box-shadow:none !important;
  }
  .dh-letter{
    width:auto !important;
    min-height:auto !important;
    margin:0 !important;
    padding:0 !important;
    box-shadow:none !important;
    border:none !important;
  }
  .dh-letter-head{
    min-height:18mm !important;
  }
  .dh-recipient{
    margin-top:45mm !important;
    min-height:32mm !important;
  }
  .dh-subject{
    margin-top:12mm !important;
  }
  .dh-body{
    margin-top:8mm !important;
    line-height:1.6 !important;
  }
  .dh-signature-space{
    height:16mm !important;
  }
}


/* Version 1.1.8 – preview/print sync */
.dh-preview{
  padding:0.5rem !important;
}
.dh-letter{
  width:190mm !important;
  min-height:257mm !important;
  margin:0 auto !important;
  padding:0 !important;
}
.dh-letter-head{
  min-height:18mm !important;
  gap:12mm !important;
  margin-top:0 !important;
}
.dh-sender{
  max-width:60% !important;
  font-size:10px !important;
  line-height:1.35 !important;
}
.dh-dateplace{
  max-width:40% !important;
  font-size:11px !important;
  line-height:1.35 !important;
  text-align:right !important;
}
.dh-recipient{
  margin-top:45mm !important;
  min-height:32mm !important;
  line-height:1.45 !important;
}
.dh-subject{
  margin-top:12mm !important;
  font-size:1rem !important;
  font-weight:700 !important;
}
.dh-body{
  margin-top:8mm !important;
  font-size:14px !important;
  line-height:1.6 !important;
}
.dh-body p{
  margin:0 0 .9em !important;
}
.dh-signature-space{
  height:16mm !important;
}
@media print{
  .dh-preview{
    padding:0 !important;
  }
  .dh-letter{
    width:190mm !important;
    min-height:257mm !important;
    margin:0 auto !important;
    padding:0 !important;
  }
}


/* Version 1.1.9 – DIN 5008 basis fix */
.dh-preview{
  padding:0.5rem !important;
  overflow:auto;
}
.dh-letter{
  position:relative;
  width:190mm !important;
  min-height:257mm !important;
  margin:0 auto !important;
  padding:45mm 20mm 20mm 25mm !important;
  box-sizing:border-box !important;
  background:#fff !important;
}
.dh-letter-head{
  position:relative;
  display:block !important;
  min-height:0 !important;
  margin:0 !important;
}
.dh-sender{
  position:absolute;
  left:0;
  top:-35mm;
  width:85mm;
  font-size:10px !important;
  line-height:1.35 !important;
  max-width:none !important;
}
.dh-dateplace{
  position:absolute;
  right:0;
  top:-2mm;
  width:60mm;
  font-size:11px !important;
  line-height:1.35 !important;
  text-align:right !important;
  white-space:normal !important;
}
.dh-recipient{
  margin-top:0 !important;
  min-height:45mm !important;
  width:85mm;
  line-height:1.45 !important;
}
.dh-subject{
  margin-top:8mm !important;
  margin-bottom:0 !important;
  max-width:165mm;
  font-size:1rem !important;
  font-weight:700 !important;
  word-break:break-word;
}
.dh-body{
  margin-top:8mm !important;
  max-width:165mm;
  font-size:14px !important;
  line-height:1.6 !important;
  word-break:break-word;
}
.dh-body p{
  margin:0 0 .9em !important;
}
.dh-signature-space{
  height:15mm !important;
}
@page{
  size:A4;
  margin:20mm 20mm 20mm 25mm;
}
@media print{
  html,body{
    height:auto !important;
    overflow:visible !important;
    background:#fff !important;
  }
  body *{
    visibility:hidden !important;
  }
  .dh-preview,.dh-preview *{
    visibility:visible !important;
  }
  .dh-preview{
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    border:none !important;
    box-shadow:none !important;
  }
  .dh-letter{
    position:relative !important;
    width:190mm !important;
    min-height:257mm !important;
    margin:0 auto !important;
    padding:45mm 20mm 20mm 25mm !important;
    box-sizing:border-box !important;
    background:#fff !important;
  }
  .dh-letter-head{
    position:relative !important;
    display:block !important;
    min-height:0 !important;
    margin:0 !important;
  }
  .dh-sender{
    position:absolute !important;
    left:0 !important;
    top:-35mm !important;
    width:85mm !important;
    font-size:10px !important;
    line-height:1.35 !important;
  }
  .dh-dateplace{
    position:absolute !important;
    right:0 !important;
    top:-2mm !important;
    width:60mm !important;
    font-size:11px !important;
    line-height:1.35 !important;
    text-align:right !important;
    white-space:normal !important;
  }
  .dh-recipient{
    margin-top:0 !important;
    min-height:45mm !important;
    width:85mm !important;
    line-height:1.45 !important;
  }
  .dh-subject{
    margin-top:8mm !important;
    max-width:165mm !important;
  }
  .dh-body{
    margin-top:8mm !important;
    max-width:165mm !important;
    line-height:1.6 !important;
  }
  .dh-signature-space{
    height:15mm !important;
  }
}


/* Version 1.1.10 – Layout Finalisierung */
.dh-letter{
  max-width:190mm !important;
  overflow:hidden !important;
}

.dh-body, .dh-subject{
  max-width:165mm !important;
  word-wrap:break-word !important;
  overflow-wrap:break-word !important;
}

.dh-dateplace{
  right:0 !important;
  top:-2mm !important;
  max-width:60mm !important;
}

.dh-recipient{
  width:85mm !important;
}

@media print{
  .dh-body, .dh-subject{
    max-width:165mm !important;
  }
}


/* Version 1.1.11 – DIN layout refinement */
.dh-builder-grid{
  grid-template-columns:minmax(320px, 420px) minmax(760px, 1fr) !important;
  align-items:start;
}
.dh-preview{
  width:100% !important;
  max-width:980px !important;
  padding:0.5rem !important;
  overflow:auto !important;
}
.dh-letter{
  position:relative !important;
  width:190mm !important;
  min-height:257mm !important;
  margin:0 auto !important;
  padding:20mm 20mm 20mm 25mm !important;
  box-sizing:border-box !important;
  background:#fff !important;
}

.dh-letter-head{
  position:relative !important;
  display:block !important;
  min-height:14mm !important;
  margin:0 !important;
}

.dh-sender{
  position:static !important;
  width:85mm !important;
  max-width:85mm !important;
  font-size:10px !important;
  line-height:1.35 !important;
}

.dh-recipient{
  margin-top:27mm !important;
  min-height:40mm !important;
  width:85mm !important;
  line-height:1.45 !important;
}

.dh-dateplace{
  position:static !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin-top:6mm !important;
  text-align:right !important;
  font-size:11px !important;
  line-height:1.35 !important;
  white-space:normal !important;
}

.dh-subject{
  margin-top:8mm !important;
  margin-bottom:0 !important;
  max-width:165mm !important;
  font-size:1rem !important;
  font-weight:700 !important;
  word-break:break-word !important;
}

.dh-body{
  margin-top:8mm !important;
  max-width:165mm !important;
  font-size:14px !important;
  line-height:1.6 !important;
  word-break:break-word !important;
}

@media print{
  .dh-builder-grid{
    display:block !important;
  }
  .dh-preview{
    max-width:none !important;
    padding:0 !important;
  }
  .dh-letter{
    width:190mm !important;
    min-height:257mm !important;
    margin:0 auto !important;
    padding:20mm 20mm 20mm 25mm !important;
  }
  .dh-letter-head{
    min-height:14mm !important;
  }
  .dh-sender{
    position:static !important;
    width:85mm !important;
    max-width:85mm !important;
  }
  .dh-recipient{
    margin-top:27mm !important;
    min-height:40mm !important;
    width:85mm !important;
  }
  .dh-dateplace{
    position:static !important;
    display:block !important;
    width:100% !important;
    margin-top:6mm !important;
    text-align:right !important;
    white-space:normal !important;
  }
  .dh-subject{
    margin-top:8mm !important;
    max-width:165mm !important;
  }
  .dh-body{
    margin-top:8mm !important;
    max-width:165mm !important;
  }
}


/* Version 1.1.12 – print/header fix */
.dh-letter{
  padding:24mm 20mm 20mm 25mm !important;
}

.dh-letter-head{
  display:block !important;
  min-height:0 !important;
  margin:0 !important;
}

.dh-sender{
  position:static !important;
  display:block !important;
  width:85mm !important;
  max-width:85mm !important;
  margin:0 !important;
}

.dh-recipient{
  margin-top:22mm !important;
  min-height:28mm !important;
  width:85mm !important;
}

.dh-dateplace{
  position:static !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin-top:4mm !important;
  margin-bottom:0 !important;
  text-align:right !important;
}

.dh-subject{
  margin-top:10mm !important;
}

@media print{
  .dh-letter{
    padding:24mm 20mm 20mm 25mm !important;
  }
  .dh-sender{
    position:static !important;
    display:block !important;
    width:85mm !important;
    max-width:85mm !important;
    margin:0 !important;
  }
  .dh-recipient{
    margin-top:22mm !important;
    min-height:28mm !important;
    width:85mm !important;
  }
  .dh-dateplace{
    position:static !important;
    display:block !important;
    width:100% !important;
    margin-top:4mm !important;
    text-align:right !important;
  }
  .dh-subject{
    margin-top:10mm !important;
  }
}


/* Version 1.1.13 – field engine */
.dh-form textarea.code{font-family:monospace}
.dh-section label{display:block;margin-top:.55rem}
.dh-section input,.dh-section select,.dh-section textarea{width:100%;box-sizing:border-box}


/* v2.10.66: Datum nicht mehr im Kopfbereich, sondern rechts oberhalb des Betreffs */
.dh-letter-head{
  display:block !important;
  min-height:auto !important;
}
.dh-dateplace{
  display:block !important;
  max-width:none !important;
  width:100% !important;
  text-align:right !important;
  white-space:normal !important;
  margin:8mm 0 8mm 0 !important;
  font-size:12px !important;
  line-height:1.35 !important;
}
.dh-subject{
  margin-top:0 !important;
}


/* Digihelfer 2.11.52: klarer Rückweg aus Vorlagen/Builder-Detailseiten */
.dh-template-back-nav{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 18px;
    padding:12px 14px;
    border:1px solid #dbe7ff;
    border-radius:14px;
    background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
    color:#334155;
    font-size:14px;
}
.dh-template-back-nav a{
    text-decoration:none;
    font-weight:700;
}
.dh-template-back-main{
    color:#2563eb;
}
.dh-template-back-link{
    color:#475569;
}
.dh-template-back-nav a:hover{
    text-decoration:underline;
}
.dh-template-back-separator{
    color:#94a3b8;
}
@media (max-width: 640px){
    .dh-template-back-nav{
        align-items:flex-start;
        flex-direction:column;
        gap:6px;
    }
    .dh-template-back-separator{
        display:none;
    }
}
