/* Personal profile page; the notary accent follows the existing theme. */
.profil-layout:has([data-professional-profile]) { display: block; }
.professional-profile { --action-accent: var(--accent-purple); --action-ink: color-mix(in srgb, var(--action-accent) var(--action-ink-mix), var(--action-text)); --action-tint: color-mix(in srgb, var(--action-accent) 12%, var(--action-surface)); --ring: var(--action-ink); min-width: 0; color: var(--ink); }
.professional-profile-heading { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--space-8); margin-bottom: var(--space-10); }
.professional-profile-heading-copy { min-width: 0; }
.professional-profile-heading h1 { margin: 0; font-size: var(--type-h2); line-height: var(--type-h2-lh); }
.professional-profile-heading .eyebrow { margin: 0 0 var(--space-3); }
.professional-profile-person { margin: var(--space-4) 0 0; font-weight: var(--weight-display); overflow-wrap: anywhere; }
.professional-profile-email { margin: var(--space-3) 0 0; color: var(--ink-muted); overflow-wrap: anywhere; }
.professional-profile-nav { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-block: var(--space-8) var(--space-12); }
.professional-profile-nav button { appearance: none; min-height: var(--control-height); min-width: var(--control-height); max-width: 100%; padding: var(--space-4) var(--space-6); border: 1px solid var(--border); border-radius: var(--radius); background: transparent; color: var(--ink); font: inherit; cursor: pointer; overflow-wrap: anywhere; }
.professional-profile-nav button:is(:hover, :focus-visible) { color: var(--action-ink); border-color: var(--action-ink); background: var(--action-tint); }
.professional-profile :is(button,input,select,textarea):focus-visible { outline: var(--space-1) solid var(--ring); outline-offset: var(--space-2); }
.professional-profile :is(h1,h2)[tabindex='-1']:focus { outline: none; }
.professional-profile-content { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; gap: var(--space-12); }
.professional-profile-main, .professional-profile-aside { min-width: 0; }
.professional-profile-aside, .professional-profile-panels { display: grid; align-content: start; gap: var(--space-10); }
.professional-profile-panel { min-width: 0; padding-block: var(--space-10); border-top: 1px solid var(--border); scroll-margin-block-start: var(--sticky-top); overflow-wrap: anywhere; }
.professional-profile-panel h2 { scroll-margin-block-start: var(--sticky-top); margin: 0 0 var(--space-6); font-size: var(--type-h3); line-height: var(--type-h3-lh); }
.professional-profile-panel p { margin-block: 0 var(--space-6); }
.professional-profile-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); align-items: start; }
.professional-profile-fields > p, .professional-profile-fields > .switch-row, .professional-profile-fields > [data-professional-field='nc-cnq'], .professional-profile-fields > [data-professional-field='nc-adresse'] { grid-column: 1 / -1; }
.professional-profile-form .form-row { margin: 0; min-width: 0; }
.professional-profile-form :is(input,select,textarea) { width: 100%; min-width: 0; min-height: var(--control-height); font-size: var(--type-body); }
.professional-profile-form .switch-row input { width: auto; min-height: 0; }
.professional-profile-form .switch-row { min-height: var(--control-height); }
.professional-profile-form .nc-profil-grid:empty { display: none; }
.professional-profile-form > .btn[type='submit'] { margin-top: var(--space-10); min-height: var(--control-height); max-width: 100%; white-space: normal; }
.professional-profile-feedback { margin-block: var(--space-8); padding: var(--space-6); border: 1px solid var(--border); border-radius: var(--radius); }
.professional-profile-status { margin: 0; overflow-wrap: anywhere; }
.professional-profile-status[role='alert'] { color: var(--danger); }
.professional-profile-feedback .btn { margin-top: var(--space-4); }
.professional-profile-firm-name { font-weight: var(--weight-display); }
.professional-profile [hidden] { display: none !important; }
@media (max-width: 767px) {
  .professional-profile-content { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .professional-profile-fields { grid-template-columns: minmax(0, 1fr); }
}
.professional-profile #nc-profil-saved { font-size: var(--type-body); color: var(--ink-muted); line-height: var(--type-body-lh); }
.professional-profile-form :is(.nselect-btn, .nselect-opt) { min-height: var(--control-height); max-width: 100%; font-size: var(--type-body); }
.professional-profile-form .nselect-value { white-space: normal; overflow-wrap: anywhere; }
