/* =========================================================
   Formulaire bénéficiaire (templates/Members/add_edit_member.php)
   ========================================================= */

.member-form{gap:16px}
.member-form .card{display:flex;flex-direction:column;gap:16px}
.member-form .card-h h2{font-size:15px}
.member-form .form-grid .field.date input[type=date],.member-form .form-grid .field.date input.flatpickr-input{max-width:none}
.member-form .form-grid>.field.checkbox{align-self:stretch;padding-bottom:0}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Rappel du n° de dossier (édition), à côté du titre dans la barre du haut */
.form-id{display:inline-flex;align-items:center;gap:6px;height:30px;margin-left:12px;vertical-align:middle;letter-spacing:0;padding:0 14px;border-radius:999px;white-space:nowrap;
  background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);color:var(--primary-text);font-size:13px;font-weight:600}
.form-id strong{font-size:17px;font-weight:800;letter-spacing:-.01em}

/* Foyer : champs à gauche, éligibilité à droite */
.foyer-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:20px 28px;align-items:start}
.elig-box{display:flex;flex-direction:column;gap:6px;min-width:0}
.elig-box>.label{font-size:12.5px;font-weight:500;color:var(--ink-2)}
#eligibilite{min-width:0}
#eligibilite[aria-busy="true"]{opacity:.55}
.elig{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line)}
.elig.good{background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 30%,transparent)}
.elig.bad{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}
.elig-k{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.elig-v{font-size:22px;font-weight:800;line-height:1.2;color:var(--ink)}
.elig.good .elig-v{color:var(--good)}
.elig.bad .elig-v{color:var(--bad)}
.elig-s{font-size:12.5px;color:var(--ink-2);line-height:1.45}
.elig-none{display:flex;gap:8px;align-items:flex-start;margin:0;padding:12px 14px;border:1px dashed var(--line-strong);border-radius:10px;font-size:12.5px;color:var(--muted);line-height:1.45}
.elig-none .ico{flex:none;margin-top:1px}

/* Adresse : liste de suggestions */
.addr-wrap{position:relative}
.addr-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;max-height:300px;overflow:auto;
  background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm,8px);box-shadow:var(--shadow-3,0 8px 24px rgba(0,0,0,.18))}
.addr-list[hidden]{display:none}
.addr-list li{padding:9px 10px;border-radius:6px;font-size:13px;color:var(--ink);cursor:pointer;line-height:1.35}
.addr-list li:hover,.addr-list li.is-active{background:var(--primary-soft);color:var(--primary-text)}
.doublons-act{align-self:end}
.doublons-act .btn{align-self:flex-start}
#doublons:empty,#secteur:empty{display:none}
#doublons[aria-busy="true"],#secteur[aria-busy="true"]{opacity:.55}
#secteur{margin-top:2px}

/* Secteur : suggestion et voisins */
.list-field{gap:8px}
.list-field>.field{display:flex;flex-direction:column;gap:6px}
.list-field select.is-applied{border-color:var(--good)!important;box-shadow:0 0 0 3px var(--good-soft)!important;transition:box-shadow .2s}
details.voisins{margin-top:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
details.voisins>summary{cursor:pointer;padding:9px 12px;font-size:12.5px;font-weight:600;color:var(--primary-text);list-style:none}
details.voisins>summary::-webkit-details-marker{display:none}
details.voisins>summary:focus-visible{outline:2px solid var(--primary-text);outline-offset:2px;border-radius:10px}
details.voisins[open]>summary{border-bottom:1px solid var(--line)}
details.voisins .items{padding:0 12px}
details.voisins .item:last-child{border-bottom:0}

/* Aide : indication colis et épicerie */
.colis-hint-wrap{align-self:end}
.colis-hint-wrap .pill{align-self:flex-start;display:inline-flex;gap:6px;align-items:center;padding:5px 10px;height:auto}
.colis-hint-wrap .pill[hidden]{display:none}
.epicerie-fields[hidden]{display:none}
.switches{border-top:1px solid var(--line);padding-top:14px}
.switches .switch-row{padding:6px 0}
.switches .sr-t{font-size:13px;font-weight:500;color:var(--ink);cursor:pointer}
.switches .sr-s{margin:2px 0 0}
.switches input.switch{flex:none}

/* Calendrier */
.cal-actions{display:flex;flex-wrap:wrap;gap:8px}
.date-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;border:0;margin:0;padding:0;min-width:0}
.date-opt{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:13px;color:var(--ink);cursor:pointer;user-select:none}
.date-opt:hover{border-color:var(--line-strong)}
.date-opt:has(input:checked){border-color:var(--primary-text);background:var(--primary-soft)}
.date-opt:has(input:focus-visible){outline:2px solid var(--primary-text);outline-offset:2px}
.date-opt input{width:16px;height:16px;margin:0;accent-color:var(--primary);flex:none}
.date-opt.is-past{opacity:.6}
.date-opt.is-disabled{opacity:.45;cursor:not-allowed}

/* Fenêtre des anciens dossiers */
#old-members-results{min-height:80px}
#old-members-results table{width:100%}

@media (max-width:860px){
  .foyer-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .date-opt{padding:9px 10px;font-size:12.5px}
  .cal-actions{width:100%}
  .cal-actions .btn{flex:1}
  .member-form .form-actions .btn{flex:1;justify-content:center}
}

/* Vignettes de navigation vers les sections */
.form-jump{display:flex;flex-wrap:wrap;gap:6px}
.form-jump .chip{text-decoration:none;font-weight:500}
.form-jump .chip:hover,.form-jump .chip.is-active{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 35%,transparent);color:var(--primary-text)}
.member-form .card{scroll-margin-top:calc(var(--topbar-h,56px) + 12px)}
