/* Vollmacht Mobile Focus V3 — additive mobile polish. */

.vm-intake-chip[data-state="vollstaendig"],
.member-order-intake-badge[data-state="vollstaendig"]{
  border-color:rgba(102,187,72,.35)!important;
  background:rgba(102,187,72,.10)!important;
  color:var(--bw-readable-positive,#7fcf68)!important;
}
.vm-intake-chip[data-state="vollstaendig"]::before,
.member-order-intake-badge[data-state="vollstaendig"]::before{
  content:"✓";
  display:inline-grid;
  place-items:center;
  width:16px;
  height:16px;
  margin-right:5px;
  border-radius:50%;
  background:rgba(127,207,104,.15);
  font-size:.65rem;
  font-weight:900;
}
.vm-intake-order.is-complete{
  border-color:rgba(102,187,72,.24)!important;
  background:rgba(102,187,72,.045)!important;
}
.vm-intake-success__status{
  justify-self:center;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:0 10px;
  border:1px solid rgba(102,187,72,.24);
  border-radius:999px;
  background:rgba(102,187,72,.07);
  color:var(--bw-readable-positive,#7fcf68);
  font-size:.7rem;
  font-weight:820;
}

@media(max-width:700px){
  /* The normal wizard is a document, not a fixed app viewport. Compact phones
     must always be able to move vertically; only horizontal panning is blocked. */
  html.bw-vm-focus-mode{
    width:100%!important;
    min-height:100%!important;
    height:auto!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-x:none!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.bw-vm-focus-mode{
    width:100%!important;
    min-height:100dvh!important;
    height:auto!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-x:none!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.bw-vm-focus-mode .member-authority-page{
    height:auto!important;
    min-height:calc(100dvh - var(--bw-h,66px))!important;
    overflow:visible!important;
    overflow-x:hidden!important;
  }
  body.bw-vm-focus-mode .member-authority-page .member-workspace{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    overflow-x:hidden!important;
    padding-bottom:14px!important;
  }
  body.bw-vm-focus-mode .member-authority-page .member-authority-layout{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    overflow-x:hidden!important;
  }
  body.bw-vm-focus-mode .member-authority-page .member-foot-note{
    display:none!important;
  }
  body.bw-vm-focus-mode #footer-container{
    display:none!important;
  }

  body.bw-vm-focus-mode .member-authority-page .form-container{
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin:0 auto 12px!important;
    padding:14px 14px 12px!important;
    overflow:visible!important;
    overflow-x:hidden!important;
    border-radius:20px!important;
  }
  body.bw-vm-focus-mode .bw-vm-wizard-v2-submitted > #vollmacht-form{
    display:none!important;
  }
  body.bw-vm-focus-mode .bw-vm-wizard-v2-submitted #success-message{
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    border:0!important;
    background:transparent!important;
  }

  .member-authority-page .form-header{
    font-size:clamp(1.45rem,7.2vw,1.9rem)!important;
    line-height:1.04!important;
    margin-bottom:8px!important;
    text-wrap:balance;
  }
  .member-authority-page .progress-container{
    margin-bottom:11px!important;
  }
  .member-authority-page .bw-vm-wizard-meta{
    margin-bottom:4px!important;
  }

  .member-authority-page .bw-vm-question{
    margin:3px 0 2px!important;
    color:var(--bw-readable-muted,#a9bdca)!important;
    font-family:var(--bw-display,"Oswald",sans-serif)!important;
    font-size:1rem!important;
    font-weight:650!important;
    line-height:1.25!important;
  }
  .member-authority-page #auto-mode-row > .bw-vm-question{
    margin-top:14px!important;
  }

  .member-authority-page .kundentyp-btns{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .member-authority-page .kundentyp-btn{
    position:relative!important;
    min-height:56px!important;
    padding:12px 14px 12px 42px!important;
    border-radius:15px!important;
    border-color:rgba(119,205,239,.16)!important;
    background:rgba(5,185,242,.035)!important;
    box-shadow:none!important;
    font-size:.9rem!important;
    justify-content:flex-start!important;
  }
  .member-authority-page .kundentyp-btn::before{
    content:"";
    position:absolute;
    left:15px;
    top:50%;
    width:13px;
    height:13px;
    border:1.5px solid rgba(142,185,205,.6);
    border-radius:50%;
    transform:translateY(-50%);
    box-sizing:border-box;
  }
  .member-authority-page .kundentyp-btn.selected::before{
    border-color:#05B9F2;
    background:#05B9F2;
    box-shadow:inset 0 0 0 3px #0a1a27,0 0 0 3px rgba(5,185,242,.08);
  }
  .member-authority-page .kundentyp-btn.selected,
  .member-authority-page .kundentyp-btn.auto-mode.selected{
    background:rgba(5,185,242,.085)!important;
    border-color:rgba(72,206,247,.52)!important;
    box-shadow:0 0 0 2px rgba(5,185,242,.055)!important;
  }
  .member-authority-page .kundentyp-btn small{
    margin-left:auto!important;
    white-space:normal!important;
    font-size:.62rem!important;
    opacity:.72!important;
  }
  html[data-design="future"] .member-authority-page .form-step input,
  html[data-design="future"] .member-authority-page .form-step select,
  html[data-design="future"] .member-authority-page .form-step textarea{
    background:rgba(10,27,40,.96)!important;
    border-color:rgba(119,205,239,.18)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.015)!important;
  }

  /* Review remains a focused full-screen overlay with one explicit scroll host. */
  .vm-review-overlay{
    padding:0!important;
    place-items:stretch!important;
    background:#06101a!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .vm-review{
    width:100%!important;
    height:100dvh!important;
    max-height:none!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .vm-review__head{
    min-height:64px!important;
    padding:13px 15px!important;
    gap:10px!important;
  }
  .vm-review__title{
    min-width:0!important;
    font-size:1.35rem!important;
    line-height:1.06!important;
    overflow-wrap:anywhere!important;
  }
  .vm-review__close{
    width:38px!important;
    height:38px!important;
    font-size:1.2rem!important;
  }
  .vm-review__content{
    overflow:auto!important;
    padding:14px 15px!important;
    scrollbar-gutter:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .vm-section{
    margin-bottom:10px!important;
    padding:14px!important;
    border-radius:15px!important;
  }
  .vm-section__title{
    font-size:1.05rem!important;
  }
  .vm-kv{
    display:block!important;
  }
  .vm-kv__row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:2px!important;
    padding:9px 0!important;
    border-top:1px solid rgba(119,205,239,.10)!important;
  }
  .vm-kv__row:first-child{
    border-top:0!important;
  }
  .vm-kv__key,.vm-kv__val{
    padding:0!important;
    border:0!important;
  }
  .vm-kv__key{
    font-size:.68rem!important;
  }
  .vm-kv__val{
    font-size:.82rem!important;
  }
  .vm-legal-note{
    margin-top:12px!important;
    padding:14px!important;
    border-radius:15px!important;
    font-size:.75rem!important;
    line-height:1.5!important;
  }
  .vm-review__actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:11px 15px calc(11px + env(safe-area-inset-bottom))!important;
  }
  .vm-review__actions .vm-btn{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
  }

  /* Post-Vollmacht intake keeps its own full-screen scroll host. */
  .vm-intake-overlay{
    padding:0!important;
    place-items:stretch!important;
    background:#06101a!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .vm-intake-card{
    width:100%!important;
    height:100dvh!important;
    max-height:none!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .vm-intake-card__head{
    padding:15px 16px 13px!important;
  }
  .vm-intake-body{
    padding:15px 16px calc(16px + env(safe-area-inset-bottom))!important;
  }
  .vm-intake-choice-grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .vm-intake-choice{
    min-height:68px!important;
    padding:13px 14px!important;
    border-radius:15px!important;
    background:rgba(5,185,242,.035)!important;
    border-color:rgba(119,205,239,.15)!important;
    align-content:center!important;
  }
  .vm-intake-choice strong{
    font-size:1rem!important;
  }
  .vm-intake-choice span{
    font-size:.72rem!important;
  }
  .vm-intake-order{
    padding:14px!important;
    border-radius:16px!important;
  }
  .vm-intake-order__actions{
    align-items:center!important;
  }
  .vm-intake-success{
    gap:12px!important;
    padding:4px 2px 12px!important;
  }
  .vm-intake-success__head{
    gap:6px!important;
  }
  .vm-intake-success__head h3{
    font-size:1.65rem!important;
  }
  .vm-intake-success__head p{
    font-size:.8rem!important;
    line-height:1.45!important;
  }
}

@media(max-width:390px){
  .vm-review__actions{
    grid-template-columns:1fr!important;
  }
}
