/* Fiches locales, sur le modèle de la page agence de CrediPro. */
.cabinet-page { --gutter: var(--header-inset); }
.cabinet-width { width: min(1500px, calc(100% - 2 * var(--gutter))); margin-inline: auto; }
.cabinet-hero { border-radius: 0 0 0 75px; }
.cabinet-hero .inner-lead { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 44.23%; align-items: start; gap: 36px; min-height: 678px; }
.cabinet-hero .inner-lead > .cabinet-copy { padding: 176px 0 72px 172px; display: grid; justify-items: start; gap: 31px; }
.agency .cabinet-hero .inner-lead h1 { margin: 0; }
.cabinet-copy > p { max-width: 537px; }
.cabinet-hero figure { position: relative; align-self: end; margin: 0; width: 100%; }
.cabinet-hero figure img { width: 100%; aspect-ratio: 743 / 532; height: auto; object-fit: cover; border-radius: 30px 0 0 0; }
.cabinet-hero figure::before, .cabinet-hero figure::after { content: ''; position: absolute; width: 13.5%; aspect-ratio: 101/93; bottom: 0; left: 0; background: var(--accent); }
.cabinet-hero figure::before { transform: translate(-100%, -100%); }
:root body .cabinet-hero .hero-actions .button { --cta-size: 16px; border-top-left-radius: 20px; }
:root body .cabinet-page .hero-actions a.button:is(:hover,:focus-visible) { background: rgb(255 255 255 / 17%); }
main.cabinet-page > .crumb { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cabinet-page .crumb a { text-decoration: none; }
.cabinet-page .crumb a:hover, .cabinet-links a:hover, .cabinet-related a:hover { text-decoration: underline; }
.cabinet-intro { width: min(1070px, calc(100% - 40px)); margin: 22px auto 120px; display: grid; justify-items: center; gap: 55px; text-align: center; }
.cabinet-badge { display: inline-flex; align-items: center; padding: 8px 18px; border-radius: 35px; color: var(--ink); background: white; font: 800 16px/1 var(--heading); letter-spacing: .64px; text-transform: uppercase; }
.cabinet-badge::before { content: ''; display: inline-block; width: 12px; height: 13px; margin-right: 10px; background: url('assets/cabinets/secteur.svg') center/contain no-repeat; }
.cabinet-intro h2 { font-size: 66.785px; line-height: .9; }
.cabinet-intro > * { margin: 0; }
.cabinet-tiles { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0,310px)); justify-content: center; gap: 3rem; }
.cabinet-tiles > * { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 23px; min-width: 0; min-height: 250px; border-radius: 58px 0 0; padding: 24px 15px; background: white; color: var(--ink); font: 300 18px/1.17 var(--heading); letter-spacing: .03em; }
.cabinet-tiles > :is(:hover,:focus-within) { box-shadow: 0 4px 18px #1D236212; }
.cabinet-icon { width: 46px; height: 52px; object-fit: contain; }
.cabinet-links { display: grid; align-content: start; gap: 8px; overflow-wrap: anywhere; }
.cabinet-tiles a[href^="mailto:"] { font-size: 16px; }
.cabinet-edito { display: grid; grid-template-columns: 36% 1fr; width: calc(100% - 2 * var(--gutter)); margin-inline: auto; color: white; background: linear-gradient(125deg,#1D2362,#1D2362); border-radius: 0 0 0 100px; overflow: hidden; }
.cabinet-edito > img { width: 100%; height: 100%; max-height: 920px; object-position: 48% center; }
.cabinet-edito > div { padding: 70px clamp(32px,5vw,96px); }
.cabinet-edito h2 { margin: 36px 0; line-height: 1; }
.cabinet-edito h3 { margin: 24px 0 6px; font-size: 24px; }
.cabinet-edito p { margin-bottom: 18px; }
.cabinet-edito .hero-actions { margin-top: 32px; }
.cabinet-team, .cabinet-contact, .cabinet-news, .cabinet-faq { margin-block: 110px; }
.cabinet-team > h2, .cabinet-news > h2 { text-align: center; margin-bottom: 48px; }
.cabinet-people { display: grid; gap: 32px; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
.cabinet-member { display: grid; justify-items: start; min-width: 0; isolation: isolate; }
.cabinet-member:only-child { grid-column: 1/-1; width: min(100%,960px); justify-self: center; }
.cabinet-member > img { align-self: end; z-index: 1; width: min(257px,72%,calc(var(--source-width, 257px) / var(--photo-density,1))); height: auto; border-radius: 32px 0; margin-left: 8%; }
.cabinet-member > div { width: 100%; padding: 40px 8%; background: white; border-radius: 52px 0; overflow-wrap: anywhere; }
.cabinet-member > img + div { margin-top: -48px; padding-top: 78px; }
.cabinet-member h3 { margin-bottom: 24px; font-size: 34px; }
.cabinet-member .cabinet-links { border-top: 1px solid var(--line); padding-top: 16px; font-size: 16px; }
.cabinet-member p, .cabinet-member li { line-height: 1.52; }
.cabinet-contact { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); align-items: center; gap: 8%; padding: clamp(30px,5.5vw,105px); background: white; border-radius: 0 0 0 75px; }
.cabinet-contact h2 { line-height: 1; }
.cabinet-contact > div .cabinet-links { font-size: 16px; }
.cabinet-form, .cabinet-fields { display: grid; gap: 16px; }
.cabinet-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
.cabinet-form label { font: 500 16px/1.35 var(--body); }
.cabinet-form label span { font-weight: 300; }
.cabinet-form input,.cabinet-form textarea { display: block; width: 100%; margin-top: 6px; border: 1px solid color-mix(in srgb, #6F9DD3 70%, white); border-radius: 15px; padding: 10px 16px; min-height: 48px; background: white; color: var(--ink); font: 400 16px/1.45 var(--body); }
.cabinet-form textarea { resize: vertical; }
.cabinet-form button { justify-self: start; }
.cabinet-form .form-note, .cabinet-form .form-status { margin: 0; font-size: 14px; }
.cabinet-form .form-status:empty { display: none; }
.cabinet-news > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.cabinet-news a { background: white; border-radius: 35px 0; overflow: hidden; }
.cabinet-news img { width: 100%; height: auto; aspect-ratio: 2/1; object-fit: contain; background: #fff; }
.cabinet-news h3 { padding: 24px; margin: 0; }
.cabinet-news a:hover h3 { text-decoration: underline; }
.cabinet-faq { display: grid; grid-template-columns: 1fr 1.7fr; gap: 5%; }
.cabinet-faq details { background: white; border-bottom: 1px solid var(--line); }
.cabinet-faq summary { cursor: pointer; padding: 22px; font: 600 22px/1.25 var(--heading); }
.cabinet-faq details > div { padding: 0 22px 16px; }
.cabinet-related { display: flex; flex-wrap: wrap; gap: 12px 28px; padding-block: 24px 48px; border-top: 1px solid var(--line); font-size: 15px; }
@media (max-width: 1280px) {
  .cabinet-page { --gutter: 20px; }
  .cabinet-hero { border-bottom-left-radius: 40px; }
  .cabinet-hero .inner-lead { min-height: 0; align-items: center; gap: 24px; }
  .cabinet-hero .inner-lead > .cabinet-copy { padding: 40px 20px 36px; gap: 24px; }
  .cabinet-intro { margin: 40px auto 72px; gap: 36px; }
  .cabinet-intro h2 { font-size: 34px; line-height: 1; }
  .cabinet-intro > p { font-size: 16px; max-width: 850px; }
  .cabinet-tiles { gap: 20px; }
  .cabinet-tiles > * { min-height: 165px; }
  .cabinet-team,.cabinet-contact,.cabinet-news,.cabinet-faq { margin-block: 72px; }
}
@media (max-width: 992px) {
  .cabinet-hero .inner-lead { display: flex; flex-direction: column-reverse; gap: 0; align-items: stretch; }
  .cabinet-hero { margin-top: 14px; }
  .cabinet-intro { margin-top: 22px; }
  .cabinet-hero figure img { aspect-ratio: 1.47; border-radius: 0; }
  .cabinet-hero figure::before,.cabinet-hero figure::after { width: 36px; height: 36px; left: auto; right: 0; transform: none; }
  .cabinet-hero figure::before { right: 36px; }
  .cabinet-hero figure::after { bottom: -36px; }
  .cabinet-hero .inner-lead > .cabinet-copy { padding-top: 48px; }
  .cabinet-edito { grid-template-columns: 1fr; border-bottom-left-radius: 60px; }
  .cabinet-edito > img { height: 220px; object-position: center 42%; }
  .cabinet-edito > div { padding: 32px 24px 44px; }
  .cabinet-contact { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 700px) {
  .cabinet-hero .inner-lead > .cabinet-copy { gap: 20px; }
  :root body .cabinet-hero .hero-actions .button { --cta-size: 13.5px; --cta-height: 48px; --cta-left: 22px; --cta-gap: 10px; }
  .cabinet-hero .action-arrow { width: 48px; height: 48px; flex-basis: 48px; }
  .cabinet-tiles { grid-template-columns: minmax(0,340px); }
  .cabinet-tiles > * { min-height: 0; padding: 28px 20px; }
  .cabinet-people,.cabinet-faq,.cabinet-news > div { grid-template-columns: 1fr; gap: 22px; }
  .cabinet-team,.cabinet-contact,.cabinet-news,.cabinet-faq { margin-block: 56px; }
  .cabinet-team > h2,.cabinet-news > h2 { margin-bottom: 28px; }
  .cabinet-team h2,.cabinet-contact h2,.cabinet-faq h2,.cabinet-news h2 { font-size: 34px; line-height: 1; }
  .cabinet-member h3 { font-size: 28px; }
  .cabinet-member > img { max-width: 175px; }
  .cabinet-contact { border-bottom-left-radius: 40px; padding: 28px 20px; }
  .cabinet-fields { grid-template-columns: minmax(0,1fr); }
  .cabinet-news h3 { font-size: 22px; }
}
