/* Espace Pro : connexion en aperçu et demande d’accès par e-mail. */
.pro-page { background: #f5f2eb; color: #192c20; padding-bottom: 88px; }
.pro-intro { padding-top: 32px; padding-bottom: 48px; }
.pro-breadcrumb { display: flex; gap: 12px; font-size: .75rem; color: #526658; margin-bottom: 40px; }
.pro-breadcrumb a:hover { text-decoration: underline; }
.pro-eyebrow { color: #42654d; font-size: .65rem; font-weight: 600; letter-spacing: .19em; text-transform: uppercase; margin-bottom: 16px; }
.pro-intro h1 { font-weight: 300; font-size: clamp(2.25rem, 4.6vw, 4.2rem); line-height: 1.08; letter-spacing: -.045em; }
.pro-page h1 em, .pro-page h2 em { font-family: var(--serif); font-weight: 500; color: #466f53; }
.pro-lede { color: #526658; font-size: 1rem; max-width: 66ch; margin-top: 24px; line-height: 1.8; }
.pro-workspace { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 28px; align-items: start; }
.pro-panel { border-radius: 24px; padding: 40px; }
.pro-login { background: #fffdf9; border: 1px solid #dedfd5; position: sticky; top: 125px; }
.pro-panel-icon { width: 48px; height: 48px; background: #edf1e9; border-radius: 14px; display: grid; place-items: center; margin-bottom: 28px; }
.pro-panel-icon svg { width: 23px; height: 23px; stroke: #355640; fill: none; stroke-width: 1.5; }
.pro-panel h2 { font-size: clamp(1.7rem, 2.6vw, 2.55rem); line-height: 1.13; font-weight: 300; letter-spacing: -.03em; }
.pro-panel-copy { color: #526658; font-size: .88rem; line-height: 1.8; margin-top: 18px; }
.pro-login-fields { display: flex; flex-direction: column; gap: 10px; margin-top: 32px; }
.pro-page label, .pro-profiles legend { font-size: .76rem; font-weight: 500; }
.pro-login-fields label:not(:first-child) { margin-top: 10px; }
.pro-page input:not([type=radio]), .pro-page textarea { width: 100%; min-width: 0; padding: 12px 14px; border: 1px solid #c7d0c3; border-radius: 9px; background: #fffdf9; color: #192c20; font: inherit; font-size: .84rem; line-height: 1.5; }
.pro-page input::placeholder, .pro-page textarea::placeholder { color: #677869; opacity: 1; }
.pro-page input:disabled { background: #f2f1ec; color: #677869; cursor: not-allowed; }
.pro-page :is(input,textarea,button,a):focus-visible { outline: 2px solid #466f53; outline-offset: 3px; }
.pro-page textarea { resize: vertical; }
.pro-button { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; padding: 15px 18px; border: 0; border-radius: 10px; background: #274b35; color: #fffdf9; font: inherit; font-size: .84rem; font-weight: 500; transition: background .2s; }
.pro-button:not(:disabled):hover { background: #192c20; }
.pro-button span { font-size: 1.15rem; }
.pro-button-muted { background: #dce2d7; color: #586a5b; cursor: not-allowed; margin-top: 10px; }
.pro-availability { display: flex; align-items: center; gap: 8px; color: #526658; font-size: .72rem; margin-top: 16px; }
.pro-availability > span { width: 6px; height: 6px; border-radius: 50%; background: #718770; }
.pro-login-bottom { border-top: 1px solid #dedfd5; margin-top: 32px; padding-top: 24px; font-size: .8rem; }
.pro-login-bottom p { color: #526658; margin-bottom: 6px; }
.pro-login-bottom a { font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
.pro-register { background: #e7ecdf; scroll-margin-top: 130px; }
.pro-profiles { border: none; margin: 28px 0 24px; min-width: 0; }
.pro-profiles legend { margin-bottom: 12px; }
.pro-profile-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pro-profile { position: relative; cursor: pointer; }
.pro-profile input { position: absolute; top: 15px; right: 14px; width: 16px; height: 16px; accent-color: #274b35; }
.pro-profile-content { display: flex; flex-direction: column; height: 100%; gap: 8px; padding: 16px; border: 1px solid #b9c7b6; border-radius: 12px; background: rgba(255,253,249,.45); transition: background .2s, border-color .2s; }
.pro-profile input:checked + .pro-profile-content { background: #fffdf9; border-color: #355640; box-shadow: inset 0 0 0 1px #355640; }
.pro-profile input:focus-visible + .pro-profile-content { outline: 2px solid #466f53; outline-offset: 3px; }
.pro-profile-content svg { width: 24px; height: 24px; fill: none; stroke: #355640; stroke-width: 1.5; margin-bottom: 6px; }
.pro-profile-content strong { font-size: .84rem; font-weight: 500; }
.pro-profile-content > span { color: #526658; font-size: .73rem; font-weight: 300; line-height: 1.65; }
.pro-field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 17px; min-width: 0; }
.pro-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pro-optional { color: #526658; font-weight: 300; }
.pro-email-note { color: #405746; font-size: .75rem; line-height: 1.75; margin: 4px 0 18px; }
.pro-email-note a, .pro-privacy a { text-decoration: underline; text-underline-offset: 3px; }
.pro-privacy { color: #526658; font-size: .68rem; line-height: 1.75; margin-top: 16px; }
.pro-form-status { color: #274b35; font-size: .78rem; line-height: 1.7; }
.pro-form-status:not(:empty) { margin-top: 14px; }
@media(max-width: 1000px) { .pro-panel { padding: 28px; } .pro-workspace { gap: 20px; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); } .pro-field-row { grid-template-columns: 1fr; gap: 0; } }
@media(max-width: 760px) { .pro-intro { padding-top: 24px; padding-bottom: 32px; } .pro-intro, .pro-workspace { padding-inline: 20px; } .pro-breadcrumb { margin-bottom: 28px; } .pro-workspace { grid-template-columns: 1fr; } .pro-login { position: static; } .pro-panel { padding: 26px; border-radius: 20px; } .pro-page { padding-bottom: 48px; } .pro-panel-icon { margin-bottom: 20px; } }
@media(max-width: 380px) { .pro-profile-options { grid-template-columns: 1fr; } }
