/* ============================================================================
   fiche-ui.css — v20260721a
   UI partagée des formulaires fiche (admin.psychologue.fr + pro.psychologue.fr)
   Préfixe pf-. PRÉSENTATION SEULEMENT — zéro logique, zéro id, zéro handler.
   Dépend des tokens var(--*) de css/base.css. Charger APRÈS pages.css.
   Aucun sélecteur hors préfixe pf- (zéro global, zéro body/html).
   Mobile-first : base 1 colonne, upgrades en min-width.
   ============================================================================ */

/* ---------- 0. Scope & tokens locaux (déclarés une seule fois ici) ---------- */
.pf-scope{
  --pf-h:36px;
  --pf-fs:13px; --pf-fs-sm:12px; --pf-fs-xs:11px;
  --pf-gap:12px; --pf-pad:16px;
  --pf-r:8px; --pf-r-lg:14px;
  --pf-t:.16s; --pf-ease:cubic-bezier(.25,.46,.45,.94);
  --pf-ring:0 0 0 3px var(--accent-glow,var(--palette-bordure-action-fiche-ui));
  --pf-hairline:var(--palette-bordure-fiche-ui);
  --pf-border-strong:var(--palette-bordure-fiche-ui-2);
  --pf-surface-2:var(--palette-surface-action-pay-appointment-3);
  --pf-surface-3:var(--palette-surface-fiche-ui);
  --pf-warn-bg:var(--palette-surface-avertissement-fiche-ui); --pf-warn-ink:var(--palette-texte-principal-fiche-ui);
  --pf-error-bg:var(--palette-surface-danger-fiche-ui);
  --pf-success-bg:var(--palette-surface-succes-agenda-workspace);
  font-family:var(--font,inherit);
  font-size:var(--pf-fs);
  color:var(--text,var(--palette-texte-principal-composants-3));
}

/* ---------- 1. Layout ---------- */
.pf-stack{display:flex;flex-direction:column;gap:var(--pf-gap);min-width:0;}
.pf-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--pf-gap);
  align-items:start;}
.pf-col{display:flex;flex-direction:column;gap:var(--pf-gap);min-width:0;}
.pf-narrow{width:100%;max-width:820px;margin:0 auto;}
.pf-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* ---------- 2. Pagebar ---------- */
.pf-pagebar{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-7);flex-wrap:wrap;
  padding:var(--palette-espacement-cabinet-conversation-6) 0;margin-bottom:var(--palette-espacement-cabinet-2);}
.pf-pagebar-titles{min-width:0;flex:1;}
.pf-pagebar-title{margin:0;font-size:var(--palette-typographie-cabinet-conversation-5);font-weight:700;line-height:1.25;
  letter-spacing:var(--palette-typographie-composants-2);color:var(--text,var(--palette-texte-principal-composants-3));}
.pf-pagebar-sub{font-size:var(--pf-fs-xs);color:var(--text-light,var(--palette-texte-secondaire-composants-4));
  margin-top:var(--palette-espacement-conversation);}
.pf-pagebar-actions{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-11);width:100%;
  justify-content:flex-end;}

/* ---------- 3. Carte de section ---------- */
.pf-card{background:var(--card,var(--palette-surface-cabinet-conversation));border:1px solid var(--border,var(--palette-bordure-conversation-4));
  border-radius:var(--pf-r-lg);
  box-shadow:var(--shadow-sm,0 1px 2px var(--palette-ombre-fiche-ui));min-width:0;}
.pf-card-head{display:flex;align-items:flex-start;gap:var(--palette-espacement-cabinet-conversation-6);
  padding:var(--palette-espacement-cabinet-conversation-7) var(--pf-pad) var(--palette-espacement-cabinet-conversation-6);border-bottom:1px solid var(--pf-hairline);}
.pf-card-icon{flex:0 0 auto;width:30px;height:30px;border-radius:var(--palette-rayon-cabinet-conversation-2);
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--accent-light,var(--palette-surface-action-pay-appointment-2)),var(--palette-surface-action-fiche-ui));
  color:var(--accent,var(--palette-texte-action-composants));}
.pf-card-icon svg{width:16px;height:16px;}
.pf-card-titles{flex:1;min-width:0;}
.pf-card-title{margin:0;font-size:var(--palette-typographie-cabinet-conversation-3);font-weight:600;line-height:1.3;
  letter-spacing:var(--palette-typographie-composants-13);color:var(--text,var(--palette-texte-principal-composants-3));}
.pf-card-desc{margin:var(--palette-espacement-composants-5) 0 0;font-size:var(--palette-typographie-components-4);line-height:1.4;
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-card-aside{flex:0 0 auto;display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-11);
  margin-left:auto;}
.pf-card-body{padding:var(--pf-pad);min-width:0;}
.pf-card-body > * + *{margin-top:var(--pf-gap);}
.pf-card-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--palette-espacement-cabinet-conversation-11);
  padding:var(--palette-espacement-cabinet-conversation-6) var(--pf-pad);border-top:1px solid var(--pf-hairline);
  background:var(--pf-surface-2);
  border-radius:0 0 var(--pf-r-lg) var(--pf-r-lg);}

/* ---------- 4. Groupes internes (eyebrow) ---------- */
.pf-group{display:flex;flex-direction:column;gap:var(--palette-espacement-cabinet-conversation-11);min-width:0;}
.pf-group + .pf-group{margin-top:var(--palette-espacement-cabinet-conversation-2);padding-top:var(--palette-espacement-cabinet-conversation-2);
  border-top:1px solid var(--pf-hairline);}
.pf-group-head{display:flex;align-items:center;justify-content:space-between;
  gap:var(--palette-espacement-cabinet-conversation-11);}
.pf-group-title{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-3);font-size:var(--palette-typographie-composants-3);
  font-weight:600;text-transform:uppercase;letter-spacing:var(--palette-typographie-composants-11);
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-group-title svg{width:13px;height:13px;}

/* ---------- 5. Grilles de champs (mobile-first) ---------- */
.pf-grid-2{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--palette-espacement-cabinet-conversation-6) var(--palette-espacement-cabinet-conversation-7);}
.pf-grid-fit{display:grid;gap:var(--palette-espacement-cabinet-conversation-6) var(--palette-espacement-cabinet-conversation-7);
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
.pf-span2{grid-column:1/-1;}

/* ---------- 6. Champ ---------- */
.pf-field{position:relative; /* ancre des .pf-suggest — NE PAS RETIRER */
  display:flex;flex-direction:column;gap:var(--palette-espacement-cabinet-2);min-width:0;}
.pf-label{font-size:var(--pf-fs-xs);font-weight:600;letter-spacing:var(--palette-typographie-consultation-3);
  text-transform:uppercase;color:var(--text-muted,var(--palette-texte-secondaire-composants-3));}
.pf-label-opt{font-weight:400;text-transform:none;letter-spacing:0;
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-hint{font-size:var(--palette-typographie-composants-3);line-height:1.45;color:var(--text-light,var(--palette-texte-secondaire-composants-4));}

/* ---------- 7. Contrôles ---------- */
.pf-input,.pf-select{width:100%;height:var(--pf-h);padding:0 var(--palette-espacement-cabinet-conversation-6);
  font-family:inherit;font-size:var(--pf-fs);color:var(--text,var(--palette-texte-principal-composants-3));
  background:var(--card,var(--palette-surface-cabinet-conversation));border:1px solid var(--border,var(--palette-bordure-conversation-4));
  border-radius:var(--pf-r);-webkit-appearance:none;appearance:none;
  transition:border-color var(--pf-t) var(--pf-ease),
             box-shadow var(--pf-t) var(--pf-ease),
             background var(--pf-t) var(--pf-ease);}
.pf-textarea{width:100%;min-height:140px;padding:var(--palette-espacement-cabinet-conversation-11) var(--palette-espacement-cabinet-conversation-6);line-height:1.55;
  resize:vertical;font-family:inherit;font-size:var(--pf-fs);
  color:var(--text,var(--palette-texte-principal-composants-3));background:var(--card,var(--palette-surface-cabinet-conversation));
  border:1px solid var(--border,var(--palette-bordure-conversation-4));border-radius:var(--pf-r);
  transition:border-color var(--pf-t) var(--pf-ease),
             box-shadow var(--pf-t) var(--pf-ease);}
.pf-input:hover:not(:focus):not(:disabled),
.pf-select:hover:not(:focus):not(:disabled),
.pf-textarea:hover:not(:focus):not(:disabled){
  border-color:var(--pf-border-strong);}
.pf-input:focus,.pf-select:focus,.pf-textarea:focus{outline:none;
  border-color:var(--adaptation-bordure-action-accent-2, var(--accent,var(--palette-bordure-action-composants)));box-shadow:var(--pf-ring);}
.pf-input::placeholder,.pf-textarea::placeholder{
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-input:disabled,.pf-input[readonly],.pf-select:disabled,
.pf-textarea:disabled{background:var(--pf-surface-2);
  color:var(--text-muted,var(--palette-texte-secondaire-composants-3));cursor:not-allowed;}
.pf-input--num{text-align:right;font-variant-numeric:tabular-nums;}
.pf-input--sm{height:30px;font-size:var(--pf-fs-sm);}
.pf-mono{font-family:var(--palette-police-monospace-fiche-ui);
  font-size:var(--palette-typographie-cabinet-conversation-4);}
.pf-select-wrap{position:relative;}
.pf-select-wrap .pf-select{padding-right:var(--palette-espacement-invitation-7);}
.pf-select-wrap::after{content:"";position:absolute;right:12px;top:50%;
  width:7px;height:7px;border-right:1.8px solid var(--adaptation-bordure-text-light, var(--text-light,var(--palette-bordure-agenda-workspace-5)));
  border-bottom:1.8px solid var(--adaptation-bordure-text-light, var(--text-light,var(--palette-bordure-agenda-workspace-5)));
  transform:translateY(-70%) rotate(45deg);pointer-events:none;}
.pf-affix{position:relative;}
.pf-affix .pf-input{padding-right:var(--palette-espacement-invitation-2);}
.pf-affix-unit{position:absolute;right:10px;top:50%;
  transform:translateY(-50%);font-size:var(--palette-typographie-composants-3);font-weight:500;
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));pointer-events:none;}
.pf-charcount{display:block;font-size:var(--palette-typographie-composants-3);text-align:right;margin-top:var(--palette-espacement-cabinet-2);
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));font-variant-numeric:tabular-nums;}
.pf-charcount.warn{color:var(--error,var(--palette-texte-danger-base));}

/* ---------- 8. Boutons ---------- */
.pf-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--palette-espacement-cabinet-conversation-3);
  height:var(--pf-h);padding:0 var(--palette-espacement-composants-7);border-radius:var(--pf-r);
  font-family:inherit;font-size:var(--pf-fs);font-weight:600;line-height:1;
  cursor:pointer;border:1px solid transparent;text-decoration:none;
  white-space:nowrap;-webkit-user-select:none;user-select:none;
  transition:background var(--pf-t) var(--pf-ease),
             border-color var(--pf-t) var(--pf-ease),
             color var(--pf-t) var(--pf-ease),
             transform .1s var(--pf-ease);}
.pf-btn svg{width:14px;height:14px;}
.pf-btn:active{transform:scale(.98);}
.pf-btn:disabled{opacity:.55;cursor:default;transform:none;}
.pf-btn:focus-visible{outline:none;box-shadow:var(--pf-ring);}
.pf-btn--primary{background:var(--adaptation-fond-action-accent-2, var(--accent,var(--palette-fond-action-composants)));color:var(--palette-texte-inverse-components);}
.pf-btn--primary:hover:not(:disabled){
  background:var(--adaptation-fond-action-accent-hover-2, var(--accent-hover,var(--palette-fond-action-composants-2)));}
.pf-btn--ghost{background:var(--card,var(--palette-surface-cabinet-conversation));color:var(--text,var(--palette-texte-principal-composants-3));
  border-color:var(--border,var(--palette-bordure-conversation-4));}
.pf-btn--ghost:hover:not(:disabled){border-color:var(--pf-border-strong);
  background:var(--pf-surface-2);}
.pf-btn--danger-ghost{background:var(--card,var(--palette-surface-cabinet-conversation));color:var(--error,var(--palette-texte-danger-base));
  border-color:var(--border,var(--palette-bordure-conversation-4));}
.pf-btn--danger-ghost:hover:not(:disabled){border-color:var(--adaptation-bordure-danger-error, var(--error,var(--palette-bordure-danger-agenda-workspace)));
  background:var(--pf-error-bg);}
.pf-btn--sm{height:28px;padding:0 var(--palette-espacement-components-2);font-size:var(--pf-fs-sm);}
.pf-btn--icon{width:var(--pf-h);padding:0;}
.pf-btn--sm.pf-btn--icon{width:28px;}
.pf-icon-btn{width:30px;height:30px;flex:0 0 auto;display:inline-flex;
  align-items:center;justify-content:center;font-family:inherit;
  font-size:var(--palette-typographie-cabinet-conversation-5);line-height:1;color:var(--text-light,var(--palette-texte-secondaire-composants-4));
  background:var(--card,var(--palette-surface-cabinet-conversation));border:1px solid var(--border,var(--palette-bordure-conversation-4));
  border-radius:var(--pf-r);cursor:pointer;
  transition:border-color var(--pf-t) var(--pf-ease),
             color var(--pf-t) var(--pf-ease),
             background var(--pf-t) var(--pf-ease);}
.pf-icon-btn svg{width:14px;height:14px;}
.pf-icon-btn:hover{border-color:var(--pf-border-strong);
  color:var(--text,var(--palette-texte-principal-composants-3));}
.pf-icon-btn--danger:hover{border-color:var(--adaptation-bordure-danger-error, var(--error,var(--palette-bordure-danger-agenda-workspace)));
  color:var(--error,var(--palette-texte-danger-base));background:var(--pf-error-bg);}
.pf-icon-btn:focus-visible{outline:none;box-shadow:var(--pf-ring);}
.pf-add-btn{display:flex;align-items:center;justify-content:center;gap:var(--palette-espacement-cabinet-conversation-3);
  width:100%;height:32px;margin-top:var(--palette-espacement-cabinet-conversation-11);font-family:inherit;
  font-size:var(--pf-fs-sm);font-weight:500;color:var(--text-muted,var(--palette-texte-secondaire-composants-3));
  background:transparent;border:1.5px dashed var(--pf-border-strong);
  border-radius:var(--pf-r);cursor:pointer;
  transition:border-color var(--pf-t) var(--pf-ease),
             color var(--pf-t) var(--pf-ease),
             background var(--pf-t) var(--pf-ease);}
.pf-add-btn svg{width:14px;height:14px;}
.pf-add-btn:hover{border-color:var(--adaptation-bordure-action-accent-2, var(--accent,var(--palette-bordure-action-composants)));
  color:var(--accent,var(--palette-texte-action-composants));background:var(--accent-light,var(--palette-surface-action-pay-appointment-2));}
.pf-add-btn:focus-visible{outline:none;box-shadow:var(--pf-ring);
  border-color:var(--adaptation-bordure-action-accent-2, var(--accent,var(--palette-bordure-action-composants)));}

/* ---------- 9. Badges & compteurs ---------- */
.pf-badge{display:inline-flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-3);height:22px;
  padding:0 var(--palette-espacement-cabinet-conversation-4);border-radius:var(--radius-pill,var(--palette-rayon-connexion));font-size:var(--palette-typographie-composants-3);
  font-weight:600;white-space:nowrap;}
.pf-badge::before{content:"";width:6px;height:6px;border-radius:var(--palette-rayon-composants-2);
  background:currentColor;flex:0 0 auto;}
.pf-badge--live{background:var(--pf-success-bg);color:var(--success,var(--palette-texte-succes-recharger-credits));}
.pf-badge--hidden{background:var(--pf-warn-bg);color:var(--pf-warn-ink);}
.pf-badge--draft{background:var(--pf-surface-3);
  color:var(--text-muted,var(--palette-texte-secondaire-composants-3));}
.pf-count{display:inline-flex;align-items:center;height:20px;padding:0 var(--palette-espacement-cabinet-conversation-11);
  border-radius:var(--radius-pill,var(--palette-rayon-connexion));background:var(--pf-surface-3);
  font-size:var(--palette-typographie-composants-3);font-weight:600;color:var(--text-muted,var(--palette-texte-secondaire-composants-3));
  font-variant-numeric:tabular-nums;white-space:nowrap;}
.pf-count.full{background:var(--accent-light,var(--palette-surface-action-pay-appointment-2));
  color:var(--accent,var(--palette-texte-action-composants));}

/* ---------- 10. Chips ---------- */
.pf-chipset{display:flex;flex-wrap:wrap;gap:var(--palette-espacement-cabinet-conversation-3);}
.pf-chip{-webkit-appearance:none;appearance:none;display:inline-flex;
  align-items:center;gap:var(--palette-espacement-cabinet-conversation-3);height:28px;padding:0 var(--palette-espacement-components-2);
  font-family:inherit;font-size:var(--pf-fs-sm);font-weight:500;line-height:1;
  color:var(--text-muted,var(--palette-texte-secondaire-composants-3));background:var(--card,var(--palette-surface-cabinet-conversation));
  border:1px solid var(--border,var(--palette-bordure-conversation-4));
  border-radius:var(--radius-pill,var(--palette-rayon-connexion));cursor:pointer;
  -webkit-user-select:none;user-select:none;
  transition:background var(--pf-t) var(--pf-ease),
             border-color var(--pf-t) var(--pf-ease),
             color var(--pf-t) var(--pf-ease),
             transform .1s var(--pf-ease);}
.pf-chip:hover{border-color:var(--pf-border-strong);color:var(--text,var(--palette-texte-principal-composants-3));
  background:var(--pf-surface-2);}
.pf-chip:active{transform:scale(.97);}
.pf-chip:focus-visible{outline:none;border-color:var(--adaptation-bordure-action-accent-2, var(--accent,var(--palette-bordure-action-composants)));
  box-shadow:var(--pf-ring);}
.pf-chip.selected{background:var(--accent-light,var(--palette-surface-action-pay-appointment-2));
  border-color:var(--adaptation-bordure-action-accent-2, var(--accent,var(--palette-bordure-action-composants)));color:var(--accent,var(--palette-texte-action-composants));
  font-weight:600;padding-left:var(--palette-espacement-cabinet-conversation-4);}
.pf-chip.selected::before{ /* coche 100% CSS, aucun asset, survit au re-render */
  content:"";width:8px;height:4px;flex:0 0 auto;
  border-left:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(-45deg) translateY(-1px);}

/* ---------- 11. Toggle-row (verrous) ---------- */
.pf-toggle-row{position:relative;display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-6);
  padding:var(--palette-espacement-cabinet-conversation-4) var(--palette-espacement-components-2);background:var(--card,var(--palette-surface-cabinet-conversation));
  border:1px solid var(--border,var(--palette-bordure-conversation-4));border-radius:var(--pf-r);
  cursor:pointer;
  transition:border-color var(--pf-t) var(--pf-ease),
             background var(--pf-t) var(--pf-ease);}
.pf-toggle-row + .pf-toggle-row{margin-top:var(--palette-espacement-cabinet-conversation-3);}
.pf-toggle-row:hover{border-color:var(--pf-border-strong);}
.pf-toggle-row:has(input:checked){border-color:var(--adaptation-bordure-action-accent-2, var(--accent,var(--palette-bordure-action-composants)));
  background:var(--pf-surface-2);}
.pf-toggle-main{flex:1;min-width:0;}
.pf-toggle-label{font-size:var(--palette-typographie-components-2);font-weight:500;line-height:1.35;
  color:var(--text,var(--palette-texte-principal-composants-3));}
.pf-toggle-hint{font-size:var(--palette-typographie-composants-3);line-height:1.35;margin-top:var(--palette-espacement-conversation);
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-switch{position:relative;display:inline-flex;flex:0 0 auto;
  cursor:pointer;}
.pf-switch input{position:absolute;inset:0;width:100%;height:100%;
  opacity:0;margin:0;cursor:pointer;}
.pf-switch-track{width:32px;height:19px;
  border-radius:var(--radius-pill,var(--palette-rayon-connexion));background:var(--border,var(--palette-surface-pay-appointment));
  position:relative;transition:background var(--pf-t) var(--pf-ease);}
.pf-switch-track::after{content:"";position:absolute;top:2px;left:2px;
  width:15px;height:15px;border-radius:var(--palette-rayon-composants-2);background:var(--palette-surface-cabinet-conversation);
  box-shadow:0 1px 2px var(--palette-ombre-demarrer-3);
  transition:transform var(--pf-t) var(--pf-ease);}
.pf-switch input:checked + .pf-switch-track{background:var(--adaptation-fond-action-accent-2, var(--accent,var(--palette-fond-action-composants)));}
.pf-switch input:checked + .pf-switch-track::after{transform:translateX(13px);}
.pf-switch input:focus-visible + .pf-switch-track{box-shadow:var(--pf-ring);}

/* ---------- 12. Suggest (autocomplete) ---------- */
.pf-suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:60;
  background:var(--card,var(--palette-surface-cabinet-conversation));border:1px solid var(--border,var(--palette-bordure-conversation-4));
  border-radius:var(--palette-rayon-cabinet-conversation-4);
  box-shadow:var(--shadow-md,0 8px 24px var(--palette-ombre-fiche-ui-2));
  padding:var(--palette-espacement-cabinet-2);max-height:260px;overflow-y:auto;overflow-x:hidden;
  animation:pf-pop .15s var(--pf-ease);}
.pf-suggest-item{display:block;width:100%;text-align:left;
  font-family:inherit;font-size:var(--palette-typographie-components-2);line-height:1.35;
  color:var(--text,var(--palette-texte-principal-composants-3));background:transparent;border:0;
  border-radius:var(--palette-rayon-composants-7);padding:var(--palette-espacement-components) var(--palette-espacement-cabinet-conversation-4);cursor:pointer;
  transition:background .12s var(--pf-ease);}
.pf-suggest-item:hover,.pf-suggest-item.active{
  background:var(--accent-light,var(--palette-surface-action-pay-appointment-2));color:var(--primary,var(--palette-texte-principal-composants-3));}
.pf-suggest-sub{display:block;font-size:var(--palette-typographie-composants-3);margin-top:var(--palette-espacement-conversation);
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-suggest-empty{padding:var(--palette-espacement-cabinet-conversation-6) var(--palette-espacement-cabinet-conversation-7);text-align:center;font-size:var(--palette-typographie-cabinet-conversation-4);
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}

/* ---------- 13. Sticky-bar (save) ---------- */
.pf-sticky-bar{position:sticky;
  bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:50;
  display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-6);flex-wrap:wrap;
  padding:var(--palette-espacement-cabinet-conversation-6) var(--palette-espacement-cabinet-conversation-5);background:var(--palette-surface-cabinet-conversation);
  border:1px solid var(--border,var(--palette-bordure-conversation-4));border-radius:var(--palette-rayon-cabinet-conversation-3);
  box-shadow:var(--shadow-md,0 8px 24px var(--palette-ombre-fiche-ui-2));}
@supports ((backdrop-filter:blur(10px)) or
           (-webkit-backdrop-filter:blur(10px))){
  .pf-sticky-bar{background:var(--palette-surface-fiche-ui-2);
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
}
.pf-sticky-status{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-11);flex:1;
  min-width:0;font-size:var(--pf-fs-sm);color:var(--text-muted,var(--palette-texte-secondaire-composants-3));}
.pf-sticky-status.error{color:var(--error,var(--palette-texte-danger-base));}
.pf-sticky-status.success{color:var(--success,var(--palette-texte-succes-recharger-credits));}
.pf-sticky-dot{flex:0 0 auto;width:8px;height:8px;border-radius:var(--palette-rayon-composants-2);
  background:var(--adaptation-fond-avertissement-warning, var(--warning,var(--palette-fond-avertissement-reset-password)));
  animation:pf-pulse 1.6s ease-in-out infinite;}
.pf-sticky-status.error .pf-sticky-dot{background:var(--adaptation-fond-danger-error, var(--error,var(--palette-fond-danger-home)));
  animation:none;}
.pf-sticky-spacer{flex:1;}

/* ---------- 14. Meter (complétude) ---------- */
.pf-meter{min-width:0;}
.pf-meter-head{display:flex;align-items:baseline;
  justify-content:space-between;gap:var(--palette-espacement-cabinet-conversation-7);margin-bottom:var(--palette-espacement-cabinet-conversation-3);}
.pf-meter-pct{font-size:var(--palette-typographie-components-6);font-weight:700;letter-spacing:var(--palette-typographie-changer-psychologue-2);
  color:var(--accent,var(--palette-texte-action-composants));font-variant-numeric:tabular-nums;}
.pf-meter-track{height:6px;border-radius:var(--radius-pill,var(--palette-rayon-connexion));
  background:var(--pf-surface-3);overflow:hidden;}
.pf-meter-fill{height:100%;border-radius:inherit;
  background:linear-gradient(90deg,var(--adaptation-fond-action-accent-2, var(--accent,var(--palette-fond-action-composants))),var(--palette-fond-action-fiche-ui));
  transition:width .45s var(--pf-ease);}
.pf-meter.done .pf-meter-pct{color:var(--success,var(--palette-texte-succes-recharger-credits));}
.pf-meter.done .pf-meter-fill{background:var(--adaptation-fond-succes-success-2, var(--success,var(--palette-fond-succes-styles-en-ligne)));}
.pf-meter-next{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-3);margin-top:var(--palette-espacement-cabinet-conversation-11);
  font-size:var(--pf-fs-sm);color:var(--text-muted,var(--palette-texte-secondaire-composants-3));}
.pf-meter-next svg{width:14px;height:14px;flex:0 0 auto;
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-meter-crits{display:flex;flex-wrap:wrap;gap:var(--palette-espacement-cabinet-2) var(--palette-espacement-cabinet-conversation-5);margin-top:var(--palette-espacement-cabinet-conversation-11);}
.pf-crit{display:inline-flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-9);font-size:var(--palette-typographie-components-4);
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-crit::before{content:"";width:7px;height:4px;
  border-left:2px solid var(--border,var(--palette-bordure-conversation-4));
  border-bottom:2px solid var(--border,var(--palette-bordure-conversation-4));
  transform:rotate(-45deg);margin-top:var(--palette-espacement-recharger-credits-3);}
.pf-crit.ok{color:var(--success,var(--palette-texte-succes-recharger-credits));}
.pf-crit.ok::before{border-color:var(--adaptation-bordure-succes-success-2, var(--success,var(--palette-bordure-succes-ma-formule)));}

/* ---------- 15. Hero (en-tête fiche, avatar) ---------- */
.pf-hero{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-7);flex-wrap:wrap;
  min-width:0;}
.pf-hero-avatar{width:48px;height:48px;flex:0 0 auto;border-radius:var(--palette-rayon-cabinet-conversation-3);
  object-fit:cover;border:1px solid var(--pf-hairline);
  background:var(--pf-surface-2);}
.pf-hero-avatar--initials{display:flex;align-items:center;
  justify-content:center;border:0;font-size:var(--palette-typographie-cabinet-conversation-5);font-weight:700;color:var(--palette-texte-inverse-components);
  background:linear-gradient(135deg,var(--adaptation-fond-action-accent-2, var(--accent,var(--palette-fond-action-composants))),
    var(--adaptation-fond-action-accent-hover-2, var(--accent-hover,var(--palette-fond-action-composants-2))));}
.pf-hero-main{flex:1;min-width:0;}
.pf-hero-name{font-size:var(--palette-typographie-cabinet-conversation-5);font-weight:700;letter-spacing:var(--palette-typographie-composants-2);
  line-height:1.25;color:var(--text,var(--palette-texte-principal-composants-3));overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;}
.pf-hero-city{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-2);margin-top:var(--palette-espacement-composants-5);
  font-size:var(--pf-fs-sm);color:var(--text-muted,var(--palette-texte-secondaire-composants-3));}
.pf-hero-city svg{width:12px;height:12px;flex:0 0 auto;}
.pf-hero-side{width:100%;display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-11);}

/* ---------- 16. Empty & loading ---------- */
.pf-empty{display:flex;flex-direction:column;align-items:center;gap:var(--palette-espacement-cabinet-conversation-11);
  padding:var(--palette-espacement-cabinet-conversation) var(--palette-espacement-cabinet-conversation-2);text-align:center;
  border:1.5px dashed var(--border,var(--palette-bordure-conversation-4));border-radius:var(--palette-rayon-cabinet-conversation-4);
  background:var(--pf-surface-2);}
.pf-empty--slim{padding:var(--palette-espacement-cabinet-conversation-5) var(--palette-espacement-cabinet-conversation-7);gap:var(--palette-espacement-cabinet-conversation-9);}
.pf-empty-icon{width:36px;height:36px;border-radius:var(--palette-rayon-cabinet-conversation-4);
  display:flex;align-items:center;justify-content:center;
  background:var(--card,var(--palette-surface-cabinet-conversation));border:1px solid var(--border,var(--palette-bordure-conversation-4));
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-empty-icon svg{width:17px;height:17px;}
.pf-empty-title{font-size:var(--palette-typographie-components-2);font-weight:600;
  color:var(--text-muted,var(--palette-texte-secondaire-composants-3));}
.pf-empty-text{font-size:var(--palette-typographie-components-4);line-height:1.45;max-width:340px;
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-empty-actions{display:flex;gap:var(--palette-espacement-cabinet-conversation-11);margin-top:var(--palette-espacement-cabinet-2);flex-wrap:wrap;
  justify-content:center;}
.pf-loading{display:flex;flex-direction:column;align-items:center;gap:var(--palette-espacement-cabinet-conversation-6);
  padding:var(--palette-espacement-components-3) var(--palette-espacement-cabinet-conversation-2);font-size:var(--palette-typographie-components-2);color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-spinner{width:22px;height:22px;border-radius:var(--palette-rayon-composants-2);
  border:2px solid var(--border,var(--palette-bordure-conversation-4));
  border-top-color:var(--adaptation-bordure-action-accent-2, var(--accent,var(--palette-bordure-action-composants)));
  animation:pf-spin .7s linear infinite;}

/* ---------- 17. Prestations ---------- */
.pf-services{display:flex;flex-direction:column;gap:var(--palette-espacement-cabinet-conversation-11);}
/* Ancien layout 1 ligne (nom + prix unique) — conservé pour mémoire, plus
   utilisé depuis la refonte prestation-centré (durée + prix par mode). */
.pf-service-row{display:grid;
  grid-template-columns:minmax(0,1fr) 88px 30px;gap:var(--palette-espacement-cabinet-conversation-11);
  align-items:center;}
/* Carte prestation (refonte 26/08) : nom + suppression, puis 3 champs
   étiquetés (durée / prix cabinet / prix visio). */
.pf-service-card{border:1px solid var(--border,var(--palette-bordure-conversation-4));border-radius:var(--pf-r);
  padding:var(--palette-espacement-cabinet-conversation-6);display:flex;flex-direction:column;gap:var(--palette-espacement-cabinet-conversation-11);background:var(--card,var(--palette-surface-cabinet-conversation));}
.pf-service-head{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:var(--palette-espacement-cabinet-conversation-11);align-items:center;}
.pf-service-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--palette-espacement-cabinet-conversation-11);}
.pf-service-f{display:flex;flex-direction:column;gap:var(--palette-espacement-components-4);min-width:0;}
.pf-service-f label{font-size:var(--palette-typographie-composants-17);font-weight:600;text-transform:uppercase;
  letter-spacing:var(--palette-typographie-consultation);color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-service-hint{font-size:var(--palette-typographie-components-4);color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
/* Avertissement non bloquant : prix sous le plancher de réservation en ligne. */
.pf-service-warn{font-size:var(--palette-typographie-components-4);line-height:1.45;color:var(--palette-texte-principal-fiche-ui-2);background:var(--palette-surface-avertissement-fiche-ui-2);
  border:1px solid var(--palette-bordure-fiche-ui-3);border-radius:var(--palette-rayon-cabinet-2);padding:var(--palette-espacement-cabinet-conversation-3) var(--palette-espacement-cabinet-conversation-4);}

/* ---------- 18. Barèmes ---------- */
.pf-rates{border:1px solid var(--border,var(--palette-bordure-conversation-4));border-radius:var(--pf-r);
  overflow:hidden;min-width:520px;background:var(--card,var(--palette-surface-cabinet-conversation));}
.pf-rates-head,.pf-rates-row{display:grid;
  grid-template-columns:minmax(0,1fr) 96px 96px 96px;gap:var(--palette-espacement-cabinet-conversation-11);
  align-items:center;padding:var(--palette-espacement-components) var(--palette-espacement-cabinet-conversation-6);}
.pf-rates-head{background:var(--pf-surface-2);font-size:var(--palette-typographie-composants-17);
  font-weight:600;text-transform:uppercase;letter-spacing:var(--palette-typographie-consultation);
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-rates-row{transition:background var(--pf-t) var(--pf-ease);}
.pf-rates-row + .pf-rates-row{border-top:1px solid var(--pf-hairline);}
.pf-rates-row:hover{background:var(--pf-surface-2);}
.pf-rates-name{font-size:var(--palette-typographie-components-2);font-weight:500;color:var(--text,var(--palette-texte-principal-composants-3));
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ---------- 19. Clé/valeur & URLs (Whereby) ---------- */
.pf-kv{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--palette-espacement-composants-5) var(--palette-espacement-cabinet-conversation-7);
  align-items:center;}
.pf-kv-label{font-size:var(--palette-typographie-composants-17);font-weight:600;letter-spacing:var(--palette-typographie-consultation-3);
  text-transform:uppercase;color:var(--text-light,var(--palette-texte-secondaire-composants-4));margin-top:var(--palette-espacement-cabinet-conversation-11);}
.pf-kv-label:first-child{margin-top:0;}
.pf-kv-value{font-size:var(--palette-typographie-components-2);color:var(--text,var(--palette-texte-principal-composants-3));min-width:0;
  word-break:break-word;font-variant-numeric:tabular-nums;}
.pf-urlrow{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-3);min-width:0;}
.pf-urlrow .pf-input{flex:1;min-width:0;}

/* ---------- 20. Lignes lecture seule + encart repliable (pro) ---------- */
.pf-lockline{display:flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-6);width:100%;
  text-align:left;font-family:inherit;padding:var(--palette-espacement-cabinet-conversation-4) var(--palette-espacement-components-2);
  background:var(--pf-surface-2);border:1px solid var(--border,var(--palette-bordure-conversation-4));
  border-radius:var(--pf-r);cursor:pointer;
  transition:background var(--pf-t) var(--pf-ease),
             border-color var(--pf-t) var(--pf-ease);}
.pf-lockline + .pf-lockline{margin-top:var(--palette-espacement-cabinet-conversation-3);}
.pf-lockline:hover{background:var(--pf-surface-3);
  border-color:var(--pf-border-strong);}
.pf-lockline:focus-visible{outline:none;box-shadow:var(--pf-ring);}
.pf-lockline-icon{flex:0 0 auto;display:inline-flex;
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-lockline-icon svg{width:13px;height:13px;}
.pf-lockline-label{flex:0 0 74px;font-size:var(--palette-typographie-composants-17);font-weight:600;
  letter-spacing:var(--palette-typographie-consultation-3);text-transform:uppercase;
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));}
.pf-lockline-value{flex:1;min-width:0;font-size:var(--palette-typographie-components-2);
  color:var(--text,var(--palette-texte-principal-composants-3));overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;}
.pf-lockinfo{display:none;margin-top:var(--palette-espacement-cabinet-conversation-11);}
.pf-lockinfo.open{display:block;animation:pf-pop .18s var(--pf-ease);}

/* ---------- 21. Notes / callouts ---------- */
.pf-note{display:flex;gap:var(--palette-espacement-cabinet-conversation-11);align-items:flex-start;padding:var(--palette-espacement-cabinet-conversation-4) var(--palette-espacement-components-2);
  border-radius:var(--pf-r);font-size:var(--palette-typographie-cabinet-conversation-4);line-height:1.5;}
.pf-note svg{flex:0 0 auto;width:14px;height:14px;margin-top:var(--palette-espacement-composants-5);}
.pf-note--info{background:var(--accent-light,var(--palette-surface-action-pay-appointment-2));
  color:var(--primary,var(--palette-texte-principal-composants-3));}
.pf-note--warn{background:var(--pf-warn-bg);color:var(--pf-warn-ink);}
.pf-note--error{background:var(--pf-error-bg);color:var(--error,var(--palette-texte-danger-base));}
.pf-note--success{background:var(--pf-success-bg);
  color:var(--success,var(--palette-texte-succes-recharger-credits));}

/* ---------- 22. Utilitaires ---------- */
.pf-text-success{color:var(--success,var(--palette-texte-succes-recharger-credits));}
.pf-text-error{color:var(--error,var(--palette-texte-danger-base));}
.pf-text-muted{color:var(--text-muted,var(--palette-texte-secondaire-composants-3));}

/* ---------- 23. Couche compat (STRICTEMENT scopée .pf-card) ----------
   Densifie les classes legacy des sections statiques admin sans toucher
   chaque champ. N'affecte RIEN hors d'une .pf-card. */
.pf-card .form-group{margin:0 0 var(--palette-espacement-cabinet-conversation-6);}
.pf-card .form-group:last-child{margin-bottom:0;}
.pf-card .form-row{gap:var(--palette-espacement-cabinet-conversation-6) var(--palette-espacement-cabinet-conversation-7);}
.pf-card .form-label{display:block;font-size:var(--pf-fs-xs);
  font-weight:600;letter-spacing:var(--palette-typographie-consultation-3);text-transform:uppercase;
  color:var(--text-muted,var(--palette-texte-secondaire-composants-3));margin-bottom:var(--palette-espacement-cabinet-2);}
.pf-card .form-input,.pf-card .form-select{width:100%;height:var(--pf-h);
  padding:0 var(--palette-espacement-cabinet-conversation-6);font-family:inherit;font-size:var(--pf-fs);
  color:var(--text,var(--palette-texte-principal-composants-3));background:var(--card,var(--palette-surface-cabinet-conversation));
  border:1px solid var(--border,var(--palette-bordure-conversation-4));border-radius:var(--pf-r);
  transition:border-color var(--pf-t) var(--pf-ease),
             box-shadow var(--pf-t) var(--pf-ease);}
.pf-card textarea.form-input{height:auto;min-height:120px;padding:var(--palette-espacement-cabinet-conversation-11) var(--palette-espacement-cabinet-conversation-6);
  line-height:1.55;resize:vertical;}
.pf-card .form-input:hover:not(:focus),
.pf-card .form-select:hover:not(:focus){
  border-color:var(--pf-border-strong);}
.pf-card .form-input:focus,.pf-card .form-select:focus{outline:none;
  border-color:var(--adaptation-bordure-action-accent-2, var(--accent,var(--palette-bordure-action-composants)));box-shadow:var(--pf-ring);}
.pf-card .form-group small{display:block;font-size:var(--palette-typographie-composants-3);line-height:1.4;
  color:var(--text-light,var(--palette-texte-secondaire-composants-4));margin-top:var(--palette-espacement-components-4);}
.pf-card .ms-chip{font-size:var(--pf-fs-sm);font-weight:500;
  color:var(--text-muted,var(--palette-texte-secondaire-composants-3));background:var(--card,var(--palette-surface-cabinet-conversation));
  border:1px solid var(--border,var(--palette-bordure-conversation-4));
  border-radius:var(--radius-pill,var(--palette-rayon-connexion));padding:var(--palette-espacement-cabinet-conversation-9) var(--palette-espacement-components-2);
  transition:background var(--pf-t) var(--pf-ease),
             border-color var(--pf-t) var(--pf-ease),
             color var(--pf-t) var(--pf-ease);}
.pf-card .ms-chip:hover{border-color:var(--pf-border-strong);
  color:var(--text,var(--palette-texte-principal-composants-3));}
.pf-card .ms-chip.selected{display:inline-flex;align-items:center;gap:var(--palette-espacement-cabinet-conversation-3);
  background:var(--accent-light,var(--palette-surface-action-pay-appointment-2));border-color:var(--adaptation-bordure-action-accent-2, var(--accent,var(--palette-bordure-action-composants)));
  color:var(--accent,var(--palette-texte-action-composants));font-weight:600;}
.pf-card .ms-chip.selected::before{content:"";width:8px;height:4px;
  border-left:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(-45deg) translateY(-1px);}
.pf-card .btn-primary,.pf-card .btn-outline{height:var(--pf-h);
  padding:0 var(--palette-espacement-composants-7);font-size:var(--pf-fs);display:inline-flex;
  align-items:center;justify-content:center;gap:var(--palette-espacement-cabinet-conversation-3);
  border-radius:var(--pf-r);}

/* ---------- 24. Animations ---------- */
@keyframes pf-spin{to{transform:rotate(360deg);}}
@keyframes pf-pulse{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:.55;transform:scale(.85);}
}
@keyframes pf-pop{
  from{opacity:0;transform:translateY(-3px);}
  to{opacity:1;transform:translateY(0);}
}

/* ---------- 25. Responsive (mobile-first, upgrades) ---------- */
@media (min-width:560px){
  .pf-service-row{grid-template-columns:minmax(0,1fr) 110px 30px;}
  .pf-hero-side{width:auto;margin-left:auto;}
}
@media (min-width:640px){
  .pf-grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .pf-kv{grid-template-columns:150px minmax(0,1fr);gap:var(--palette-espacement-components) var(--palette-espacement-cabinet-conversation-7);}
  .pf-kv-label{margin-top:0;}
  .pf-pagebar-actions{width:auto;margin-left:auto;}
  .pf-lockline-label{flex-basis:90px;}
}
@media (min-width:980px){
  .pf-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
}

/* ---------- 26. Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  [class^="pf-"],[class*=" pf-"],
  [class^="pf-"]::before,[class*=" pf-"]::before,
  [class^="pf-"]::after,[class*=" pf-"]::after{
    transition-duration:.01ms !important;
    animation:none !important;
  }
}

/* ── Dispositif « Mon soutien psy » (22/09/2026) : trois états en segments ── */
.pf-msp{margin-top:var(--palette-espacement-cabinet-conversation-6)}
.pf-seg{display:flex;flex-wrap:wrap;gap:var(--palette-espacement-cabinet-conversation-3);margin-top:var(--palette-espacement-cabinet-conversation-3)}
.pf-seg-opt{position:relative;display:inline-flex;align-items:center;min-height:var(--pf-h);padding:0 var(--palette-espacement-cabinet-conversation-5);
  border:1px solid var(--pf-border-strong);border-radius:var(--palette-rayon-components-2);background:var(--palette-surface-cabinet-conversation);
  font-size:var(--pf-fs-sm);font-weight:600;color:var(--text,var(--palette-texte-principal-fiche-ui-3));cursor:pointer;
  transition:border-color var(--pf-t) var(--pf-ease),background var(--pf-t) var(--pf-ease),color var(--pf-t) var(--pf-ease)}
.pf-seg-opt:hover{border-color:var(--adaptation-bordure-action-accent-2, var(--accent,var(--palette-bordure-action-composants)))}
.pf-seg-opt input{position:absolute;opacity:0;width:0;height:0;margin:0}
.pf-seg-opt:has(input:checked){border-color:var(--adaptation-bordure-action-accent-2, var(--accent,var(--palette-bordure-action-composants)));background:var(--accent-light,var(--palette-surface-action-pay-appointment-2));color:var(--accent,var(--palette-texte-action-composants))}
.pf-seg-opt:has(input:focus-visible){box-shadow:var(--pf-ring)}

/* Horaires publics : une grille stable, même avec deux plages. */
.fiche-hours-row { display:grid; grid-template-columns:110px minmax(0,1fr) auto; align-items:center; gap:var(--palette-espacement-cabinet-conversation-3) var(--palette-espacement-cabinet-conversation-5); padding:var(--palette-espacement-cabinet-conversation-11) 0; border-top:1px solid var(--border,var(--palette-bordure-fiche-ui-4)); }
.fiche-hours-day { display:flex; align-items:center; gap:var(--palette-espacement-cabinet-conversation-6); min-height:42px; text-transform:capitalize; font-weight:600; cursor:pointer; }
.fiche-hours-ranges { display:flex; flex-wrap:wrap; gap:var(--palette-espacement-cabinet-conversation-7) var(--palette-espacement-cabinet-conversation); }
.fiche-hours-range { display:grid; grid-template-columns:88px 12px 88px; align-items:center; gap:var(--palette-espacement-cabinet-conversation-11); }
.fiche-hours-range .pf-input { width:100%; min-width:0; font-size:var(--palette-typographie-cabinet-conversation-2); text-align:center; }
.fiche-hours-row [data-h-closed] { padding-block:var(--palette-espacement-cabinet-conversation-6); color:var(--text-muted); }
.fiche-hours-row [hidden] { display:none; }
.fiche-hours-copy { appearance:none; border:0; border-radius:var(--palette-rayon-conversation); background:transparent; color:var(--accent,var(--palette-texte-action-composants)); padding:var(--palette-espacement-cabinet-conversation-11); font:inherit; font-size:var(--palette-typographie-cabinet-conversation-3); cursor:pointer; text-decoration:underline; justify-self:end; }
.fiche-hours-copy:hover { background:var(--accent-light,var(--palette-surface-action-pay-appointment-2)); }
.fiche-hours-copy:focus-visible { outline:2px solid var(--adaptation-bordure-action-accent-2, var(--accent,var(--palette-bordure-action-composants))); outline-offset:2px; }
.fiche-hours-error { grid-column:2/-1; color:var(--palette-texte-danger-fiche-ui); font-size:var(--palette-typographie-cabinet-conversation-4); margin:0; }
.fiche-hours-error:empty { display:none; }
.fiche-service-mode { display:flex; gap:var(--palette-espacement-cabinet-conversation-11); align-items:center; margin:var(--palette-espacement-cabinet-conversation-7) 0; color:var(--text); font-size:var(--palette-typographie-cabinet-conversation-3); }
@media(max-width:650px) {
    .fiche-hours-row { grid-template-columns:1fr; gap:var(--palette-espacement-cabinet-conversation-11); }
    .fiche-hours-error { grid-column:1; }
    .fiche-hours-copy { justify-self:start; }
    .fiche-hours-ranges { gap:var(--palette-espacement-cabinet-conversation-7); }
}

/* Tarif et durée côte à côte pour chaque mode, dans l’ordre de saisie. */
.pf-scope .pf-grid-fit.pf-durations-by-mode,
.pf-scope .pf-service-fields.pf-durations-by-mode { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 660px; gap: var(--palette-espacement-cabinet-conversation-2); }
@media (max-width: 480px) {
  .pf-scope .pf-grid-fit.pf-durations-by-mode,
  .pf-scope .pf-service-fields.pf-durations-by-mode { grid-template-columns: minmax(0, 1fr); }
}

/* Un seul accès au portrait pour la fiche et son onboarding. */
.pf-photo-upload { position:relative; flex:0 0 88px; width:88px; height:88px; padding:0; border:0; border-radius:var(--palette-rayon-composants-2); background:var(--palette-surface-action-fiche-ui-2); color:var(--palette-texte-action-fiche-ui); cursor:pointer; display:grid; grid-template: minmax(0,1fr) / minmax(0,1fr); place-items:center; font-family:inherit; }
.pf-photo-upload > :first-child { width:100%; height:100%; min-width:0; min-height:0; border-radius:var(--palette-rayon-composants-2); object-fit:cover; display:grid; place-items:center; font-size:var(--palette-typographie-invitation-3); font-weight:800; }
.pf-photo-upload .pf-photo-upload-hint { position:absolute; right:-2px; bottom:0; display:grid; place-items:center; width:26px; height:26px; border-radius:var(--palette-rayon-composants-2); background:var(--palette-fond-action-fiche-ui-2); color:var(--palette-texte-inverse-cabinet-conversation); border:2px solid var(--palette-bordure-fiche-ui-5); font-size:var(--palette-typographie-components-6); }
.pf-photo-upload:hover { box-shadow:0 0 0 4px var(--palette-reflet-fiche-ui); }
.pf-photo-upload:focus-visible { outline:3px solid var(--palette-bordure-action-fiche-ui-2); outline-offset:4px; }

.pf-photo-upload .pf-photo-upload-hint { padding:0; line-height:1; box-sizing:border-box; }
.pf-photo-upload-hint svg { width:16px; height:16px; display:block; }
.pf-photo-message { margin:var(--palette-espacement-cabinet-conversation-6) 0 0; font-size:var(--palette-typographie-cabinet-conversation-2); line-height:1.5; }
.pf-photo-message:empty { display:none; }
.pf-photo-message.is-error { padding:var(--palette-espacement-cabinet-conversation-6) var(--palette-espacement-cabinet-conversation-7); border-radius:var(--palette-rayon-cabinet-2); background:var(--palette-surface-danger-fiche-ui-2); color:var(--palette-texte-danger-fiche-ui-2); font-weight:600; }

.pf-service-name { flex:1; min-width:0; }
.pf-service-name label { display:block; font-size:var(--palette-typographie-cabinet-conversation-3); font-weight:600; margin-bottom:var(--palette-espacement-cabinet-conversation-3); }
.fiche-service-modes { display:flex; flex-wrap:wrap; gap:var(--palette-espacement-cabinet-conversation-11) var(--palette-espacement-cabinet-conversation); }
.fiche-service-save { display:flex; justify-content:flex-end; margin-top:var(--palette-espacement-cabinet-conversation-10); }
.fiche-service-save .pf-btn { min-height:44px; }

.pf-service-card .pf-service-f:has(input:disabled) { display:none; }

/* Association Google : recherche, aperçu et confirmation partagent les mêmes espacements. */
.pf-google { overflow-wrap:anywhere; }
.pf-google .pf-card-body { display:flex; flex-direction:column; gap:var(--palette-espacement-composants-3); }
.pf-google .pf-card-body > * { margin:0; }
.pf-google [data-google-content] { display:flex; flex-direction:column; gap:var(--palette-espacement-composants-3); min-width:0; }
.pf-google :is(h3,p,ul) { margin:0; }
.pf-google :is(.pf-google-place,.pf-google-linked,.pf-google-search) { display:flex; flex-direction:column; gap:var(--palette-espacement-cabinet-conversation-11); min-width:0; }
.pf-google .pf-google-search-row { display:flex; align-items:stretch; gap:var(--palette-espacement-cabinet-conversation-11); }
.pf-google .pf-google-search-row .pf-input { flex:1; min-width:0; width:100%; }
.pf-google .pf-google-actions { display:flex; flex-wrap:wrap; gap:var(--palette-espacement-cabinet-conversation-11); }
.pf-google .pf-btn { white-space:normal; height:auto; min-height:44px; }
.pf-google .pf-google-help { color:var(--text-muted); font-size:var(--palette-typographie-cabinet-conversation-3); line-height:1.6; }
.pf-google :is(.pf-google-fields,.pf-google-place,.pf-google-linked) { padding:var(--palette-espacement-composants-3); border:1px solid var(--border); border-radius:var(--pf-r-lg); background:var(--pf-surface-2); }
.pf-google .pf-google-fields { display:flex; flex-direction:column; gap:var(--palette-espacement-cabinet-conversation-11); min-width:0; margin:0; }
.pf-google .pf-google-fields legend { padding-inline:var(--palette-espacement-cabinet-conversation-11); font-weight:700; }
.pf-google .pf-google-field { display:flex; align-items:flex-start; gap:var(--palette-espacement-cabinet-conversation-11); padding-block:var(--palette-espacement-cabinet-conversation-11); }
.pf-google .pf-google-field > span { min-width:0; display:flex; flex-direction:column; gap:var(--palette-espacement-cabinet-conversation-3); }
.pf-google .pf-google-field input { flex:0 0 auto; width:20px; height:20px; margin-top:var(--palette-espacement-composants-5); accent-color:var(--accent); }
.pf-google .pf-google-field:has(input:disabled) { color:var(--text-muted); }
.pf-google .pf-google-verified { padding:var(--palette-espacement-cabinet-conversation-2); background:var(--pf-success-bg); border-radius:var(--pf-r); }
.pf-google :is([data-google-message],.pf-google-results):empty { display:none; }
.pf-google [data-google-message]:not(:empty) { padding:var(--palette-espacement-cabinet-conversation-2); background:var(--pf-surface-2); border-radius:var(--pf-r); }
.pf-google details summary { cursor:pointer; padding-block:var(--palette-espacement-cabinet-conversation-11); font-weight:600; }
.pf-google blockquote { margin:var(--palette-espacement-cabinet-conversation-11) 0; padding:var(--palette-espacement-cabinet-conversation-2); border-left:3px solid var(--border); }
.pf-google .pf-google-results ul { list-style:none; padding:0; display:grid; gap:var(--palette-espacement-cabinet-conversation-11); }
.pf-google .pf-google-result { display:flex; flex-direction:column; gap:var(--palette-espacement-cabinet-conversation-3); width:100%; padding:var(--palette-espacement-cabinet-conversation-2); text-align:left; border:1px solid var(--border); border-radius:var(--pf-r); background:var(--card); color:var(--text); font:inherit; cursor:pointer; overflow-wrap:anywhere; }
.pf-google .pf-google-result:hover { border-color:var(--accent); background:var(--pf-surface-2); }
.pf-google .pf-google-result:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media(max-width:640px) {
  .pf-google .pf-google-search-row { flex-direction:column; }
  .pf-google .pf-google-actions .pf-btn { flex:1 1 100%; }
  .pf-google :is(.pf-google-fields,.pf-google-place,.pf-google-linked) { padding:var(--palette-espacement-cabinet-conversation-2); }
}
