/* MK Videobesichtigung — Popup (gleiches Design wie die Website) */
html.mkvb-lock, html.mkvb-lock body { overflow:hidden !important; }
.mkvb, .mkvb * { box-sizing:border-box; }
.mkvb {
  --navy:#0b2a4a; --blue:#1f6fe5; --orange:#f7862f; --orange-dk:#e8711b;
  --ink:#0b2a4a; --muted:#5e6784; --line:#e3e9f2; --soft:#f4f7fb;
  position:fixed; inset:0; z-index:100000;
  display:none; align-items:center; justify-content:center; padding:20px;
  font-family:'Plus Jakarta Sans',-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased; color:var(--ink);
}
.mkvb.open { display:flex; }
.mkvb p, .mkvb h3, .mkvb h4 { margin:0; padding:0; }
.mkvb button { font-family:inherit; }
.mkvb svg { display:block; }
.mkvb-bg { position:absolute; inset:0; background:rgba(5,14,26,.62); animation:mkvb-fade .25s ease; }
@keyframes mkvb-fade { from { opacity:0; } to { opacity:1; } }

.mkvb-box {
  position:relative; z-index:1; width:min(480px,100%); max-height:92vh; overflow-y:auto;
  background:#fff; border-radius:26px; box-shadow:0 34px 80px rgba(0,0,0,.35);
  animation:mkvb-pop .35s cubic-bezier(.2,.7,.2,1);
  scrollbar-width:thin;
}
@keyframes mkvb-pop { from { transform:translateY(16px) scale(.97); opacity:0; } to { transform:none; opacity:1; } }

/* Kopf */
.mkvb-head {
  position:relative; display:flex; align-items:center; gap:14px;
  padding:22px 64px 18px 22px;
  background:var(--navy); color:#fff; border-radius:26px 26px 0 0; overflow:hidden;
}
.mkvb-head::after {
  content:''; position:absolute; right:-60px; top:-70px; width:170px; height:150px;
  background:linear-gradient(160deg,#ffa24d,var(--orange) 55%,var(--orange-dk));
  border-radius:58% 42% 52% 48% / 46% 50% 50% 54%; transform:rotate(-18deg); opacity:.9;
}
.mkvb-ic { position:relative; z-index:1; flex:0 0 auto; width:44px; height:44px; border-radius:13px; background:var(--orange); display:flex; align-items:center; justify-content:center; }
.mkvb-ic svg { width:22px; height:22px; fill:#fff; }
.mkvb-k { position:relative; z-index:1; font-size:12.5px; font-weight:600; color:rgba(255,255,255,.7); }
.mkvb-head h3 { position:relative; z-index:1; margin-top:2px !important; font-size:19px; font-weight:600; letter-spacing:-.4px; line-height:1.25; color:#fff !important; }
.mkvb-dur { position:relative; z-index:1; margin-left:auto; display:inline-flex; align-items:center; gap:5px; white-space:nowrap; padding:5px 10px; border-radius:100px; background:rgba(11,42,74,.7); font-size:12px; font-weight:600; margin-right:6px; }
.mkvb-dur svg { width:13px; height:13px; fill:none; stroke:#fff; stroke-width:2.2; }
.mkvb .mkvb-x {
  -webkit-appearance:none; appearance:none; position:absolute; z-index:2; top:16px; right:16px;
  width:38px; height:38px; border-radius:50%; cursor:pointer; padding:0 !important;
  background:#fff !important; border:0 !important; display:flex; align-items:center; justify-content:center;
  transition:transform .2s ease;
}
.mkvb .mkvb-x:hover { transform:rotate(90deg); }
.mkvb-x svg { width:17px; height:17px; fill:none; stroke:var(--navy); stroke-width:2.6; stroke-linecap:round; }

/* Schritte */
.mkvb-steps { display:flex; gap:6px; padding:14px 22px 0; }
.mkvb-steps span { flex:1; padding-top:8px; border-top:3px solid var(--line); font-size:12px; font-weight:600; color:#a0a8ba; transition:border-color .3s ease, color .3s ease; }
.mkvb-steps span.on { border-color:var(--orange); color:var(--ink); }

.mkvb-body { padding:18px 22px 24px; min-height:240px; }

/* Kalender */
.mkvb-cal-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.mkvb-cal-top strong { font-size:16px; font-weight:600; }
.mkvb .mkvb-nav {
  -webkit-appearance:none; appearance:none; width:36px; height:36px; border-radius:50%; cursor:pointer; padding:0 !important;
  background:var(--soft) !important; border:0 !important; display:flex; align-items:center; justify-content:center; transition:background .2s ease;
}
.mkvb .mkvb-nav:hover:not([disabled]) { background:var(--navy) !important; }
.mkvb-nav svg { width:17px; height:17px; fill:none; stroke:var(--ink); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.mkvb .mkvb-nav:hover:not([disabled]) svg { stroke:#fff; }
.mkvb .mkvb-nav[disabled] { opacity:.35; cursor:default; }
.mkvb-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; }
.mkvb-wd { text-align:center; font-size:11.5px; font-weight:600; color:#a0a8ba; padding:4px 0; }
.mkvb-day {
  -webkit-appearance:none; appearance:none; aspect-ratio:1; border-radius:12px;
  display:flex; align-items:center; justify-content:center; font-size:14.5px; font-weight:600;
  border:0 !important; padding:0 !important;
}
.mkvb .mkvb-day.off { color:#c7cdd8; font-weight:500; }
.mkvb button.mkvb-day { cursor:pointer; background:#eef4fe !important; color:var(--blue) !important; position:relative; transition:background .2s ease, color .2s ease, transform .2s ease; }
.mkvb button.mkvb-day::after { content:''; position:absolute; bottom:6px; width:4px; height:4px; border-radius:50%; background:var(--orange); }
.mkvb button.mkvb-day:hover { background:var(--blue) !important; color:#fff !important; transform:translateY(-1px); }
.mkvb button.mkvb-day.sel { background:var(--orange) !important; color:#fff !important; }
.mkvb button.mkvb-day:hover::after, .mkvb button.mkvb-day.sel::after { background:#fff; }
.mkvb-hint { margin-top:16px !important; display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); }
.mkvb-hint svg { width:16px; height:16px; fill:#25d366; flex:0 0 auto; }
.mkvb-hint b { color:var(--ink); font-weight:600; }

/* Uhrzeiten */
.mkvb .mkvb-back {
  -webkit-appearance:none; appearance:none; display:inline-flex; align-items:center; gap:4px; cursor:pointer;
  background:none !important; border:0 !important; padding:0 !important; margin-bottom:12px;
  font-size:13.5px; font-weight:600; color:var(--blue) !important;
}
.mkvb-back svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.mkvb-gl { margin:12px 0 8px !important; font-size:12.5px; font-weight:600; color:var(--muted); }
.mkvb-times { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.mkvb .mkvb-time {
  -webkit-appearance:none; appearance:none; cursor:pointer; padding:11px 0 !important; border-radius:12px;
  background:#fff !important; border:1.5px solid var(--line) !important; color:var(--ink) !important;
  font-size:14.5px; font-weight:600; transition:all .2s ease;
}
.mkvb .mkvb-time:hover, .mkvb .mkvb-time:focus-visible { border-color:var(--orange) !important; background:var(--orange) !important; color:#fff !important; outline:none; }

/* Zusammenfassung */
.mkvb-sum { display:flex; align-items:center; gap:12px; padding:13px 14px; border-radius:16px; background:var(--soft); margin-bottom:16px; text-align:left; }
.mkvb-sum svg { width:22px; height:22px; fill:var(--orange); flex:0 0 auto; }
.mkvb-sum b { display:block; font-size:15px; font-weight:600; color:var(--ink); }
.mkvb-sum small { display:block; font-size:12.5px; color:var(--muted); margin-top:1px; }

/* Formular */
.mkvb-form { display:grid; gap:12px; }
.mkvb-form label { display:block; font-size:13px; font-weight:600; color:var(--ink); }
.mkvb-form label small { font-weight:500; color:#98a1b3; margin-left:4px; }
.mkvb .mkvb-form input:not([type=checkbox]), .mkvb .mkvb-form textarea {
  display:block; width:100%; margin-top:5px; padding:12px 14px !important; border-radius:12px !important;
  border:1.5px solid var(--line) !important; background:#fff !important; box-shadow:none !important;
  font-family:inherit; font-size:15px; font-weight:500; color:var(--ink); line-height:1.4; resize:vertical;
  transition:border-color .2s ease;
}
.mkvb .mkvb-form input:focus, .mkvb .mkvb-form textarea:focus { border-color:var(--blue) !important; outline:none; }
.mkvb-hp { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; }
.mkvb-form label.mkvb-check { display:flex; align-items:flex-start; gap:10px; font-size:12.5px; font-weight:500; color:var(--muted); line-height:1.5; }
.mkvb-check input { width:18px; height:18px; margin:1px 0 0 !important; accent-color:var(--orange); flex:0 0 auto; }
.mkvb-check a { color:var(--blue); }
.mkvb-err { padding:10px 12px; border-radius:10px; background:#fff1ee; color:#c2410c; font-size:13.5px; font-weight:600; }

.mkvb .mkvb-submit {
  -webkit-appearance:none; appearance:none; position:relative; isolation:isolate; overflow:hidden;
  width:100%; height:54px; margin-top:4px; padding:0 6px 0 22px !important; border-radius:100px;
  display:flex; align-items:center; justify-content:space-between; cursor:pointer;
  background:var(--orange) !important; color:#fff !important; border:0 !important;
  font-size:15.5px; font-weight:600; box-shadow:0 12px 26px rgba(247,134,47,.3);
  transition:transform .3s cubic-bezier(.2,.7,.2,1);
}
.mkvb .mkvb-submit:hover { transform:translateY(-2px); }
.mkvb-submit i { width:42px; height:42px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; }
.mkvb-submit i svg { width:17px; height:17px; fill:none; stroke:var(--orange); stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }
.mkvb .mkvb-submit.busy { opacity:.7; pointer-events:none; }
.mkvb .mkvb-submit.busy i { animation:mkvb-spin 1s linear infinite; }
@keyframes mkvb-spin { to { transform:rotate(360deg); } }

/* Fertig */
.mkvb-done { text-align:center; }
.mkvb-okic { width:64px; height:64px; margin:4px auto 14px; border-radius:50%; background:#1f9d5c; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 9px rgba(31,157,92,.12); }
.mkvb-okic svg { width:30px; height:30px; fill:none; stroke:#fff; stroke-width:2.8; stroke-linecap:round; stroke-linejoin:round; }
.mkvb-done h4 { font-size:22px; font-weight:600; letter-spacing:-.5px; color:var(--ink); }
.mkvb-done > p { margin:6px 0 14px !important; font-size:15px; color:var(--muted); }
.mkvb-done .mkvb-small { margin:0 0 18px !important; font-size:13.5px; line-height:1.6; }

/* Laden / leer */
.mkvb-load { display:flex; align-items:center; justify-content:center; min-height:200px; }
.mkvb-load span { width:34px; height:34px; border-radius:50%; border:3px solid var(--line); border-top-color:var(--orange); animation:mkvb-spin .8s linear infinite; }
.mkvb-empty { padding:30px 6px; text-align:center; font-size:15px; line-height:1.6; color:var(--muted); }
.mkvb-empty a { color:var(--blue); font-weight:600; }

.mkvb button:focus-visible { outline:3px solid var(--orange); outline-offset:2px; }

/* Telefon: als "Bottom Sheet" */
@media (max-width:560px){
  .mkvb { padding:0; align-items:flex-end; }
  .mkvb-box { width:100%; max-height:94vh; border-radius:24px 24px 0 0; animation-name:mkvb-up; }
  @keyframes mkvb-up { from { transform:translateY(40px); opacity:0; } to { transform:none; opacity:1; } }
  .mkvb-head { border-radius:24px 24px 0 0; padding:18px 58px 16px 18px; }
  .mkvb-dur { display:none; }
  .mkvb-steps, .mkvb-body { padding-left:18px; padding-right:18px; }
  .mkvb-times { grid-template-columns:repeat(3,1fr); }
}
@media (prefers-reduced-motion:reduce){
  .mkvb-box, .mkvb-bg { animation:none; }
}

/* Telefon mit Ländervorwahl */
.mkvb-fld { display:block; }
.mkvb-lbl { display:block; font-size:13px; font-weight:600; color:var(--ink); }
.mkvb-tel { display:flex; gap:8px; margin-top:5px; }
.mkvb .mkvb-tel input:not([type=checkbox]) { margin-top:0; flex:1 1 auto; min-width:0; }
.mkvb .mkvb-tel select {
  flex:0 0 auto; width:auto; margin:0; padding:12px 30px 12px 12px !important; border-radius:12px !important;
  border:1.5px solid var(--line) !important; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235e6784' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 11px center !important;
  -webkit-appearance:none; appearance:none; box-shadow:none !important; height:auto;
  font-family:inherit; font-size:15px; font-weight:600; color:var(--ink); line-height:1.4; cursor:pointer;
}
.mkvb .mkvb-tel select:focus { border-color:var(--blue) !important; outline:none; }

/* ===== Umzugsanfrage ===== */
.mkan .mkvb-ic svg { width:24px; height:24px; }
.mkan .mkvb-sum svg { fill:var(--orange); }
.mkvb-lbl small { font-weight:500; color:#98a1b3; margin-left:4px; }
.mkan-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mkan-ico { position:relative; display:block; margin-top:5px; }
.mkan-ico svg { position:absolute; left:13px; top:50%; transform:translateY(-50%); width:17px; height:17px; fill:none; stroke:var(--orange); stroke-width:2.2; pointer-events:none; }
.mkvb .mkan-ico input:not([type=checkbox]) { margin-top:0; padding-left:38px !important; }
.mkan-date { display:flex; gap:8px; margin-top:5px; }
.mkvb .mkan-date input:not([type=checkbox]) { margin-top:0; flex:1 1 auto; min-width:0; min-height:48px; }
.mkvb .mkan-date input:disabled { background:var(--soft) !important; color:#a0a8ba; }
.mkan-chips { display:flex; flex-wrap:wrap; gap:7px; margin-top:6px; }
.mkvb .mkan-chip {
  -webkit-appearance:none; appearance:none; cursor:pointer; padding:9px 14px !important; border-radius:100px;
  background:#fff !important; border:1.5px solid var(--line) !important; color:var(--ink) !important;
  font-size:13.5px; font-weight:600; line-height:1.2; white-space:nowrap; transition:all .2s ease;
}
.mkvb .mkan-chip:hover { border-color:var(--blue) !important; color:var(--blue) !important; }
.mkvb .mkan-chip.on { background:var(--navy) !important; border-color:var(--navy) !important; color:#fff !important; }
.mkan-date .mkan-chip { flex:0 0 auto; border-radius:12px; }

.mkan-drop {
  display:flex !important; align-items:center; gap:12px; margin-top:6px; padding:14px 16px; cursor:pointer;
  border:2px dashed #c9d6ea; border-radius:14px; background:#f7faff; transition:border-color .2s ease, background .2s ease;
}
.mkan-drop:hover, .mkan-drop.over { border-color:var(--blue); background:#eef4fe; }
.mkan-drop > svg { width:28px; height:28px; flex:0 0 auto; fill:none; stroke:var(--blue); stroke-width:1.8; }
.mkan-drop b { display:block; font-size:14.5px; font-weight:600; color:var(--blue); }
.mkan-drop small { display:block; margin:1px 0 0 !important; font-size:12.5px; font-weight:500; color:var(--muted); }
.mkan-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:8px; }
.mkan-thumbs:empty { display:none; }
.mkan-th { position:relative; aspect-ratio:1; border-radius:12px; overflow:hidden; background:var(--soft); }
.mkan-th img { width:100%; height:100%; object-fit:cover; display:block; }
.mkan-th em { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; font-style:normal; }
.mkan-th em svg { width:22px; height:22px; fill:none; stroke:var(--muted); stroke-width:1.8; }
.mkan-th em small { font-size:10px; font-weight:700; color:var(--muted); }
.mkan-th.busy::after { content:''; position:absolute; inset:0; margin:auto; width:22px; height:22px; border-radius:50%; border:3px solid rgba(255,255,255,.6); border-top-color:var(--orange); animation:mkvb-spin .8s linear infinite; }
.mkvb .mkan-th button {
  -webkit-appearance:none; appearance:none; position:absolute; top:4px; right:4px; width:22px; height:22px; border-radius:50%;
  padding:0 !important; border:0 !important; cursor:pointer; background:rgba(11,42,74,.8) !important; display:flex; align-items:center; justify-content:center;
}
.mkan-th button svg { width:11px; height:11px; fill:none; stroke:#fff; stroke-width:3; stroke-linecap:round; }
.mkvb-done .mkvb-small a { color:var(--blue); font-weight:600; }

@media (max-width:560px){
  .mkan-row { grid-template-columns:1fr; }
  .mkan-thumbs { grid-template-columns:repeat(4,1fr); }
}
.mkvb .mkvb-form input[type=file] { display:none !important; }
