/* Einladungskarten-Generator und Gaesteseite (29.10.2026), gehoert zu kv-einladung.js */
.kv-ek{margin:8px 0 18px}
.kv-ek *{box-sizing:border-box}
.kv-ek-raster{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
@media (min-width:900px){.kv-ek-raster{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}.kv-ek-vorschau{position:sticky;top:12px}}
.kv-ek-vorschau{text-align:center}
.kv-ek-canvas{display:block;width:100%;max-width:440px;height:auto;margin:0 auto;border-radius:4px;box-shadow:0 3px 14px rgba(31,58,82,.22);background:#fff;cursor:pointer}
.kv-ek-tipp{font-size:13px;color:#5d6873;margin:8px 0 0}
.kv-ek-weiter{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;background:#eef4fb;border:1px solid #c9d8ea;border-radius:6px;padding:10px 12px;margin:0 0 14px}
.kv-ek-weiter span{flex:1 1 220px;font-weight:600;color:#1F3A52}
.kv-ek-schritt{font-size:17px;font-weight:700;color:#1F3A52;margin:4px 0 10px}
.kv-ek-schritt:not(:first-child){margin-top:20px;padding-top:14px;border-top:1px solid #e7eaed}
.kv-ek-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.kv-ek-chip{font:inherit;font-size:15px;font-weight:600;color:#1F3A52;background:#fff;border:2px solid #dcdfe3;border-radius:20px;padding:7px 14px;min-height:40px;cursor:pointer}
.kv-ek-chip:hover,.kv-ek-chip:focus-visible{border-color:#e66221}
.kv-ek-chip.kv-ek-an{background:#fdeee6;border-color:#e66221;color:#a8410f}
.kv-ek-chips-klein .kv-ek-chip{font-size:13px;font-weight:600;min-height:34px;padding:5px 10px;border-width:1px}
.kv-ek-motive{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 10px;margin:0 0 6px;-webkit-overflow-scrolling:touch}
.kv-ek-motiv{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:4px;width:88px;font:inherit;font-size:12px;color:#3d4248;background:none;border:0;padding:0;cursor:pointer}
.kv-ek-motiv img{display:block;width:80px;height:113px;object-fit:cover;border:2px solid #dcdfe3;border-radius:4px}
.kv-ek-motiv.kv-ek-an img{border:3px solid #e66221;box-shadow:0 0 0 2px #fdeee6}
.kv-ek-motiv.kv-ek-an span{font-weight:700;color:#a8410f}
.kv-ek-trenner{flex:none;align-self:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;color:#8a939c;border-left:1px solid #dcdfe3;padding-left:4px}
.kv-ek-gitter{display:grid;grid-template-columns:1fr;gap:0 14px}
@media (min-width:560px){.kv-ek-gitter{grid-template-columns:1fr 1fr}}
.kv-ek-feld{margin:0 0 12px}
.kv-ek-feld[hidden]{display:none}
.kv-ek-feld label,.kv-ek-label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;font-size:14px;font-weight:700;color:#1F3A52;margin:0 0 4px}
.kv-ek-feld input,.kv-ek-feld select,.kv-ek-feld textarea,.kv-ek-antwort input,.kv-ek-antwort textarea{width:100%;font:inherit;font-size:16px;color:#1d2329;background:#fff;border:1px solid #c2c8cf;border-radius:5px;padding:9px 10px;min-height:44px}
.kv-ek-feld textarea,.kv-ek-antwort textarea{line-height:1.45;resize:vertical}
.kv-ek-feld input:focus,.kv-ek-feld select:focus,.kv-ek-feld textarea:focus,.kv-ek-antwort input:focus,.kv-ek-antwort textarea:focus{outline:2px solid #e66221;outline-offset:1px;border-color:#e66221}
.kv-ek-klein{font-size:13px!important;padding:5px 10px!important;min-height:32px}
.kv-ek-feld-zusatz .kv-ek-chips{margin:6px 0 0}
.kv-ek-mehr{border:1px solid #dcdfe3;border-radius:6px;padding:0 12px;margin:0 0 12px;background:#fbfcfd}
.kv-ek-mehr summary{cursor:pointer;font-weight:700;color:#1F3A52;padding:11px 0;min-height:44px}
.kv-ek-mehr[open]{padding-bottom:6px}
.kv-ek-hilfe{font-size:14px;color:#5d6873;margin:4px 0 10px}
.kv-ek-farben{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.kv-ek-farbe{width:36px;height:36px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #c2c8cf;cursor:pointer;padding:0}
.kv-ek-farbe-motiv{background:conic-gradient(#e66221,#f1c232,#6aa84f,#1f5f99,#b0479a,#e66221)}
.kv-ek-farbe.kv-ek-an{box-shadow:0 0 0 3px #e66221}
.kv-ek-schutz{font-size:13px;color:#5d6873;margin:6px 0 0}
.kv-ek-status{min-height:1.2em;font-weight:600;color:#2e6b2e}
.kv-ek-mini{position:fixed;right:12px;bottom:12px;z-index:50;width:64px;padding:0;border:2px solid #fff;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.3);background:#fff;opacity:0;pointer-events:none;transition:opacity .2s}
.kv-ek-mini img{display:block;width:100%;height:auto}
.kv-ek-mini-an{opacity:1;pointer-events:auto}
.kv-actions:has(#kv-ek-senden){display:flex;flex-wrap:wrap;gap:10px}
.kv-actions:has(#kv-ek-senden) .kv-btn{flex:1 1 auto;min-width:160px;min-height:48px;font-size:16px}
.kv-actions:has(#kv-ek-senden) .kv-btn[disabled]{opacity:.5}
#kv-ek-panel{background:#fbfcfd;border:1px solid #dcdfe3;border-radius:8px;padding:6px 16px 14px;margin:14px 0 22px}
#kv-ek-panel[hidden]{display:none}
#kv-ek-panel h3{color:#1F3A52;margin:10px 0 6px}
#kv-ek-panel h4{color:#1F3A52;margin:16px 0 6px}
.kv-ek-reihe{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.kv-ek-reihe .kv-btn{min-height:44px;text-decoration:none}
.kv-ek-wa{background:#1f8a4c!important;border-color:#1f8a4c!important;color:#fff!important}
.kv-ek-warn{background:#fff6d6;border:1px solid #e8cf72;border-radius:5px;padding:8px 10px;font-size:14px}
.kv-ek-gaeste{list-style:none;margin:0;padding:0}
.kv-ek-gaeste li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #e7eaed}
.kv-ek-gaeste li span{flex:1 1 120px;font-weight:600}
.kv-ek-formate{display:grid;gap:8px;margin:6px 0 10px}
.kv-ek-format{display:flex;gap:10px;align-items:flex-start;background:#fff;border:2px solid #dcdfe3;border-radius:6px;padding:10px 12px;cursor:pointer}
.kv-ek-format:has(input:checked){border-color:#e66221;background:#fdf5f0}
.kv-ek-format input{margin-top:4px;width:18px;height:18px;flex:none}
.kv-ek-format strong{display:block;color:#1F3A52}
.kv-ek-format small{display:block;font-size:14px;color:#5d6873}
.kv-ek-check{display:flex;gap:10px;align-items:flex-start;margin:8px 0;font-size:15px}
.kv-ek-check input{width:18px;height:18px;margin-top:2px;flex:none}
/* Gaesteseite */
.kv-ek-gast{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:6px 0 20px}
@media (min-width:860px){.kv-ek-gast{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.kv-ek-gast .kv-ek-canvas{cursor:default}
.kv-ek-gast-knoepfe{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 6px}
.kv-ek-gross{flex:1 1 160px;min-height:52px;font-size:17px!important}
.kv-ek-antwort{background:#fbfcfd;border:1px solid #dcdfe3;border-radius:8px;padding:6px 14px 10px;margin:10px 0}
.kv-ek-antwort[hidden]{display:none}
.kv-ek-antwort label{display:block;font-size:14px;font-weight:700;color:#1F3A52;margin:10px 0 4px}
.kv-ek-gast-text{margin-top:14px}
.kv-ek-gast-anrede{font-weight:700}
.kv-ek-gast-titel{font-size:19px;font-weight:700;color:#1F3A52}
.kv-ek-gast-daten{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:10px 0}
.kv-ek-gast-daten dt{font-weight:700}
.kv-ek-gast-daten dd{margin:0}
.kv-ek-leer{background:#fbfcfd;border:1px solid #dcdfe3;border-radius:8px;padding:6px 16px 14px}
/* Druck: nur die Druckbogen zeigen */
#kv-ek-druck{display:none}
.kv-ek-blatt{position:relative;width:210mm;height:297mm;overflow:hidden;background:#fff;break-after:page;page-break-after:always}
.kv-ek-blatt:last-child{break-after:auto;page-break-after:auto}
.kv-ek-blatt-a5{width:297mm;height:210mm}
.kv-ek-k,.kv-ek-panel{position:absolute;display:block}
.kv-ek-panel{width:93mm;height:131.5mm}
.kv-ek-p-ol{left:6mm;top:8.5mm}
.kv-ek-p-ul{left:6mm;top:157mm}
.kv-ek-p-ur{left:111mm;top:157mm}
.kv-ek-gedreht{transform:rotate(180deg)}
.kv-ek-falz{position:absolute;border:0 dotted #c8c8c8}
.kv-ek-falz-h{left:0;right:0;top:148.5mm;border-top-width:.2mm}
.kv-ek-falz-v{top:0;bottom:0;left:105mm;border-left-width:.2mm}
.kv-ek-marke{position:absolute;border-top:.15mm solid #777;border-left:.15mm solid #777}
@media print{
  html.kv-ek-druckt body>*:not(#kv-ek-druck){display:none!important}
  html.kv-ek-druckt body{margin:0!important;padding:0!important;background:#fff!important}
  html.kv-ek-druckt #kv-ek-druck{display:block!important}
  .kv-ek-blatt{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
