/* Florska V2 — Contact (maquette Contact.dc.html). */

.fl-contact__head { padding-top: clamp(48px, 6vw, 88px); padding-bottom: clamp(40px, 5vw, 72px); }
.fl-contact__body { padding-bottom: var(--fl-sec); }
.fl-contact__grid { align-items: start; }
.fl-contact__info { margin-top: 32px; }

.cinfo { padding: 20px 0; border-top: 1px solid var(--fl-line); }
.cinfo p { margin: 0; }
.cinfo--last { border-bottom: 1px solid var(--fl-line); }
.cinfo a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }

.fl-form-card { padding: clamp(24px, 4vw, 56px); scroll-margin-top: 24px; }
.fl-form-title { margin-bottom: 28px; }
.fl-form-ok { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.fl-form-ok p { margin: 0; max-width: 48ch; }
.fl-form-ok:focus { outline: none; }
.fl-form-ok:focus-visible { outline: 2px solid var(--fl-ink); outline-offset: 6px; }

.cf-form { display: flex; flex-direction: column; gap: 24px; }
.cf-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.cf-type legend { font-size: 14px; font-weight: 600; padding: 0; margin-bottom: 8px; }
.cf-radios { display: flex; flex-wrap: wrap; gap: 12px; }
.radio {
  display: flex; align-items: center; gap: 12px; flex: 1 1 180px; min-height: 52px; padding: 10px 16px;
  border: 1px solid #6B6A66; background: var(--fl-white); font-size: 16px; font-weight: 600; line-height: 1.3; cursor: pointer;
  transition: border-color var(--fl-t-s) var(--fl-ease-out), box-shadow var(--fl-t-s) var(--fl-ease-out);
}
.radio input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--fl-action); }
.radio:hover { border-color: var(--fl-ink); }
.radio:has(input:checked) { border-color: var(--fl-ink); box-shadow: inset 0 0 0 1px var(--fl-ink); }
.radio__hint { font-weight: 400; font-size: 14px; }

.cf-block, .cf-common { display: flex; flex-direction: column; gap: 24px; }
.cf-legend { font-family: var(--fl-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--fl-muted-light); padding: 0; margin-bottom: 0; }
/* Sans JS : les trois blocs restent visibles et titrés. Avec JS : seul le bloc du profil coché. */
.fl-js .cf-legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@supports selector(:has(*)) {
  .fl-js .cf-form:not(.is-enhanced) .cf-block { display: none; }
  .fl-js .cf-form:not(.is-enhanced):has(#t-particulier:checked) .cf-block--particulier,
  .fl-js .cf-form:not(.is-enhanced):has(#t-professionnel:checked) .cf-block--professionnel,
  .fl-js .cf-form:not(.is-enhanced):has(#t-institution:checked) .cf-block--institution { display: flex; }
}

.two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.field textarea { resize: vertical; }
.light .field input:focus-visible, .light .field select:focus-visible, .light .field textarea:focus-visible { outline: 2px solid var(--fl-ink); outline-offset: 2px; }
.field [aria-invalid="true"] { border: 2px solid #A81E22; }
.err { margin: 0; font-size: 14px; font-weight: 600; color: #A81E22; }

.sum { border: 2px solid #A81E22; background: var(--fl-white); padding: 20px 24px; margin-bottom: 32px; }
.sum h3 { margin: 0 0 12px; }
.sum__msg { margin: 0 0 8px; }
.sum li { padding: 4px 0; }
.sum a { color: #A81E22; font-weight: 600; }
.sum:focus { outline: none; }
.sum:focus-visible { outline: 2px solid var(--fl-ink); outline-offset: 4px; }

.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.cf-submit { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.cf-submit .btn[aria-busy="true"] { cursor: progress; opacity: .8; }
.cf-rgpd { margin: 0; font-size: 14px; max-width: 52ch; }
.cf-rgpd a { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 900px) {
  .two { grid-template-columns: minmax(0, 1fr); }
  .fl-contact__grid .s7 { margin-top: 32px; }
  .cf-submit .btn { width: 100%; }
}

/* E-mail : zone de clic d'au moins 44 px de haut (doigt), aspect inchangé. */
.cinfo a[href^="mailto:"] { display: inline-flex; align-items: center; min-height: 44px; }
