/* Family Book — compact member editor polish
   Scoped to Edit Family Member / Edit Family Details only. */

.member-form-card:has(#editMemberForm){
  max-width:820px;
  padding:24px;
  border-radius:22px;
}
.member-form-card:has(#editMemberForm) .form-title{
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  gap:16px;
  align-items:center;
  margin-bottom:20px;
}
.member-form-card:has(#editMemberForm) .form-title>div:last-child{min-width:0}
.member-form-card:has(#editMemberForm) .form-title .eyebrow{margin-bottom:3px;font-size:.66rem}
.member-form-card:has(#editMemberForm) .form-title h1{
  font-size:1.78rem;
  line-height:1.08;
  margin:0 0 6px;
}
.member-form-card:has(#editMemberForm) .form-title p{
  max-width:610px;
  font-size:.84rem;
  line-height:1.42;
}
.member-form-card:has(#editMemberForm) .member-static-avatar{
  width:64px;
  height:64px;
  border-radius:50%;
  box-shadow:0 0 0 3px #f0e9de;
}
.member-form-card:has(#editMemberForm) .member-static-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:50%;
}

#editMemberForm{
  gap:12px;
}
#editMemberForm .field-row{
  gap:12px;
}
#editMemberForm label{
  gap:5px;
  font-size:.8rem;
}
#editMemberForm input,
#editMemberForm select{
  min-height:44px;
  padding:10px 12px;
  border-radius:11px;
}

#editMemberForm .locked-member-field{
  min-height:58px;
  padding:8px 11px;
  gap:2px;
  border-radius:11px;
}
#editMemberForm .locked-member-field>span{font-size:.66rem}
#editMemberForm .locked-member-field>strong{font-size:.78rem}
#editMemberForm .locked-member-field>small{font-size:.58rem}

#editMemberForm .relationship-section{
  margin-top:2px;
  padding:16px;
  border-radius:16px;
}
#editMemberForm .relationship-title h3{
  font-size:1.02rem;
  margin-bottom:3px;
}
#editMemberForm .relationship-title p{
  margin-bottom:11px!important;
  font-size:.75rem;
  line-height:1.4;
}
#editMemberForm .relationship-row{
  margin-bottom:7px;
}
#editMemberForm .relationship-field{
  font-size:.68rem!important;
}
#editMemberForm .add-rel{
  padding:5px 2px;
  font-size:.78rem;
}
#editMemberForm .form-actions{
  margin-top:3px;
}

html[data-theme="dark"] .member-form-card:has(#editMemberForm) .member-static-avatar{
  box-shadow:0 0 0 3px #31382f;
}

@media(max-width:560px){
  .member-form-page:has(#editMemberForm){
    padding:14px 10px calc(34px + env(safe-area-inset-bottom))!important;
  }
  .member-form-page:has(#editMemberForm)>.back-link{
    margin:0 6px 12px;
    font-size:.78rem;
  }
  .member-form-card:has(#editMemberForm){
    width:100%;
    padding:17px 14px 22px;
    border-radius:18px;
    box-sizing:border-box;
  }

  /* Balanced identity row: photo on the left, copy on the right. */
  .member-form-card:has(#editMemberForm) .form-title{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:16px!important;
    align-items:start!important;
    margin-bottom:22px!important;
  }
  .member-form-card:has(#editMemberForm) .form-title>div:last-child{
    width:100%;
    min-width:0;
    padding-top:3px;
  }
  .member-form-card:has(#editMemberForm) .form-title .member-photo-picker,
  .member-form-card:has(#editMemberForm) .form-title .member-static-avatar{
    margin:0!important;
    justify-self:start;
  }
  .member-form-card:has(#editMemberForm) .member-static-avatar{
    width:68px;
    height:68px;
    box-shadow:0 0 0 2px #f0e9de;
  }
  .member-form-card:has(#editMemberForm) .member-photo-picker{
    position:relative;
    width:76px!important;
    max-width:76px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  .member-form-card:has(#editMemberForm) .member-photo-picker .member-photo-frame{
    width:68px!important;
    height:68px!important;
    flex:0 0 68px;
  }
  .member-form-card:has(#editMemberForm) .member-photo-picker small{
    width:76px;
    margin-top:7px!important;
    text-align:center;
    font-size:.66rem!important;
    line-height:1.15;
    white-space:nowrap;
  }
  html[data-theme="dark"] .member-form-card:has(#editMemberForm) .member-static-avatar{
    box-shadow:0 0 0 2px #31382f;
  }
  .member-form-card:has(#editMemberForm) .form-title .eyebrow{
    font-size:.58rem;
    letter-spacing:.11em;
    margin-bottom:4px;
  }
  .member-form-card:has(#editMemberForm) .form-title h1{
    font-size:1.46rem;
    line-height:1.08;
    margin:0 0 5px;
  }
  .member-form-card:has(#editMemberForm) .form-title p{
    font-size:.73rem;
    line-height:1.38;
    margin:0;
  }

  #editMemberForm{
    gap:14px;
    padding-bottom:0!important;
  }
  #editMemberForm .field-row{
    gap:13px;
  }
  #editMemberForm label{
    gap:7px;
    font-size:.76rem;
  }
  #editMemberForm input,
  #editMemberForm select{
    min-height:44px;
    padding:10px 11px;
    border-radius:10px;
    font-size:16px;
  }
  #editMemberForm .locked-member-field{
    min-height:52px;
    padding:8px 10px;
  }
  #editMemberForm .relationship-section{
    margin-top:4px;
    margin-bottom:0;
    padding:14px!important;
    border-radius:15px;
  }
  #editMemberForm .relationship-title h3{
    font-size:.98rem;
  }
  #editMemberForm .relationship-title p{
    font-size:.72rem;
    line-height:1.4;
    margin-bottom:11px!important;
  }
  #editMemberForm .relationship-row{
    padding:8px 0!important;
    gap:8px!important;
    margin-bottom:1px;
  }
  #editMemberForm .relationship-row select{
    min-height:42px;
    padding:9px 10px!important;
  }
  #editMemberForm .remove-rel{
    width:34px;
    height:34px;
  }

  /* Actions belong after Family Relationships; never overlay the form. */
  #editMemberForm .form-actions{
    position:static!important;
    inset:auto!important;
    z-index:auto!important;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin:16px 0 0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:none!important;
  }
  html[data-theme="dark"] #editMemberForm .form-actions{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  #editMemberForm .form-actions button{
    min-height:46px;
    padding:10px 11px;
    border-radius:13px;
  }
}

@media(max-width:380px){
  .member-form-card:has(#editMemberForm) .form-title{
    grid-template-columns:72px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .member-form-card:has(#editMemberForm) .member-photo-picker{
    width:68px!important;
    max-width:68px!important;
  }
  .member-form-card:has(#editMemberForm) .member-photo-picker .member-photo-frame,
  .member-form-card:has(#editMemberForm) .member-static-avatar{
    width:62px!important;
    height:62px!important;
  }
  .member-form-card:has(#editMemberForm) .member-photo-picker small{
    width:68px;
    font-size:.62rem!important;
  }
  .member-form-card:has(#editMemberForm) .form-title h1{
    font-size:1.34rem;
  }
}
