.concept-directory-page {
  background: #f6f6f6;
  color: #262626;
}
.concept-skip-link {
  position: absolute;
  left: -9999px;
}
.concept-skip-link:focus {
  left: 10px;
  top: 10px;
  z-index: 10000;
  background: #fff;
  padding: 10px;
}
.concept-hero,
.concept-directory,
.concept-medical,
.concept-transparency,
.concept-safety,
.concept-boundaries {
  max-width: 1110px;
  margin: 0 auto 24px;
}
.concept-hero {
  background: linear-gradient(135deg, #fff, #edf4fc);
  border: 1px solid #e6e9ee;
  border-radius: 10px;
  padding: 28px;
}
.concept-hero__kicker,
.concept-medical__kicker {
  color: #3577c8;
  font-size: 12px!important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.concept-hero h1 {
  font-size: 30px;
  line-height: 1.2;
  margin: 8px 0;
}
.concept-directory > h2,
.concept-medical h2,
.concept-transparency h2 {
  font-size: 20px;
  margin: 0 0 18px;
}
.concept-place {
  background: #fff;
  border: 1px solid #e6e9ee;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 20px;
}
.concept-place__header {
  margin-bottom: 16px;
}
.concept-place__header h3 {
  font-size: 17px;
  margin: 0 0 5px;
}
.concept-place__header address {
  font-size: 12px;
  font-style: normal;
}
.concept-place__professionals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.concept-place .listing-page__result--item {
  margin: 0;
  box-shadow: none;
  border: 1px solid #e6e9ee;
}
.concept-practitioner {
  max-width: none;
}
.concept-rating,
.concept-proof {
  display: block;
  font-size: 11px;
  margin: 5px 0;
  color: #445473;
}
.concept-rating {
  color: #3577c8;
}
.concept-cta-wrapper {
  min-height: 74px;
}
.concept-cta-wrapper .listing-page__result--cta-fiche {
  padding-top: 0;
}
.concept-cta-wrapper .std-btn {
  color: #fff !important;
}
.concept-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin: 30px 0;
}
.concept-medical,
.concept-transparency,
.concept-safety,
.concept-boundaries {
  background: #fff;
  border: 1px solid #e6e9ee;
  border-radius: 10px;
  padding: 24px;
}
.concept-medical p,
.concept-medical li {
  font-size: 15px;
  line-height: 1.6;
}
.concept-medical .lede {
  font-size: 16px;
  font-weight: 500;
  color: #445473;
}
.concept-medical .safety {
  background: #fff3e8;
  border: 1px solid #ffa051;
  border-radius: 8px;
  padding: 16px;
  margin: 18px 0;
}
.concept-medical details {
  border-top: 1px solid #e6e9ee;
  padding: 12px 0;
}
.concept-medical summary {
  color: #2b62a8;
  font-weight: 700;
  cursor: pointer;
}
.concept-medical .sources {
  background: #f7f9fc;
  border-radius: 8px;
  padding: 18px;
  margin-top: 24px;
}
.concept-medical .sources span {
  display: block;
  color: #5b6373;
  font-size: 12px;
}
.concept-editorial {
  border-top: 1px solid #e6e9ee;
  margin-top: 25px;
  padding-top: 20px;
  color: #5b6373;
}
.concept-transparency {
  margin-top: 40px;
  color: #5b6373;
  font-size: 13px;
}
.concept-safety {
  background: #fff3e8;
  border-color: #ffa051;
}
.concept-boundaries a {
  color: #3577c8;
  font-weight: 500;
}
@media (max-width: 719px) {
  .concept-hero,
  .concept-directory,
  .concept-medical,
  .concept-transparency,
  .concept-safety,
  .concept-boundaries {
    margin-left: 10px;
    margin-right: 10px;
  }
  .concept-hero {
    padding: 20px;
  }
  .concept-hero h1 {
    font-size: 22px;
  }
  .concept-place__professionals {
    grid-template-columns: 1fr;
  }
  .concept-place {
    padding: 12px;
  }
  .concept-practitioner {
    margin-left: 0!important;
    margin-right: 0 !important;
  }
  .concept-pagination {
    flex-wrap: wrap;
  }
  .concept-pagination .std-btn {
    color: #3577c8 !important;
  }
  .concept-pagination .std-btn:not(.white) {
    color: #fff !important;
  }
}
/* Sommaire /qui-consulter/ */
.concept-sommaire {
  max-width: 1110px;
  margin: 0 auto 24px;
  background: #fff;
  border: 1px solid #e6e9ee;
  border-radius: 10px;
  padding: 24px;
}
.concept-sommaire > h2 {
  font-size: 20px;
  margin: 0 0 18px;
}
.concept-sommaire__alphabet {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 6px;
  padding: 0;
  list-style: none;
}
.concept-sommaire__alphabet a {
  display: inline-block;
  min-width: 28px;
  text-align: center;
  padding: 4px 6px;
  border: 1px solid #e6e9ee;
  border-radius: 6px;
  color: #3577c8;
  font-weight: 700;
}
.concept-sommaire h3 {
  font-size: 17px;
  margin: 22px 0 10px;
  border-bottom: 1px solid #e6e9ee;
  padding-bottom: 6px;
}
.concept-sommaire__list {
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 3;
  column-gap: 24px;
}
.concept-sommaire__list li {
  break-inside: avoid;
  margin: 0 0 8px;
}
.concept-sommaire__list a {
  color: #2b62a8;
}
.concept-sommaire__list span {
  display: block;
  color: #5b6373;
  font-size: 12px;
}
@media (max-width: 719px) {
  .concept-sommaire {
    margin-left: 10px;
    margin-right: 10px;
    padding: 16px;
  }
  .concept-sommaire__list {
    columns: 1;
  }
}
/* Bloc villes sur les pages nationales */
.concept-cities {
  max-width: 1110px;
  margin: 0 auto 24px;
  background: #fff;
  border: 1px solid #e6e9ee;
  border-radius: 10px;
  padding: 24px;
}
.concept-cities h2 {
  font-size: 20px;
  margin: 0 0 18px;
}
.concept-cities__list {
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 4;
  column-gap: 24px;
}
.concept-cities__list li {
  break-inside: avoid;
  margin: 0 0 8px;
}
.concept-cities__list a {
  color: #2b62a8;
}
.concept-cities__list span {
  display: block;
  color: #5b6373;
  font-size: 12px;
}
@media (max-width: 719px) {
  .concept-cities {
    margin-left: 10px;
    margin-right: 10px;
    padding: 16px;
  }
  .concept-cities__list {
    columns: 1;
  }
}
/* Présentation des cartes de l’annuaire — septembre 2026. */
.concept-directory .concept-place {
  padding: 20px;
  margin-bottom: 24px;
  background: #edf3f8;
  border: 1px solid #dce5ee;
  border-radius: 16px;
}
.concept-directory .concept-place__header {
  margin: 0 0 18px;
}
.concept-directory .concept-place__heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 6px;
}
.concept-directory .concept-place__header h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
}
.concept-directory .concept-place__header address {
  font-size: 14px;
  line-height: 1.5;
  color: #4b5d70;
  font-style: normal;
}
.concept-directory .concept-place__count {
  padding: 3px 10px;
  border-radius: 20px;
  background: #fff;
  color: #43586e;
  font-size: 12px;
}
.concept-directory .concept-individuals,
.concept-directory .concept-place__professionals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.concept-directory .concept-practitioner {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  padding: 22px;
  margin: 0;
  background: #fff;
  border: 1px solid #dfe5ec;
  border-radius: 12px;
  box-shadow: 0 2px 6px #243b5310;
}
.concept-directory .listing-page__result--left {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  width: 100%;
}
.concept-directory .concept-practitioner__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #edf4fc;
  color: #38689a;
}
.concept-directory .listing-page__result--infos {
  min-width: 0;
}
.concept-directory .listing-page__result--name {
  margin: 0 0 4px;
  font-size: 18px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.concept-directory .listing-page__result--name a {
  color: #193b62;
  text-decoration: none;
}
.concept-directory .listing-page__result--name a:hover {
  color: #0b57d0;
  text-decoration: underline;
}
.concept-directory .listing-page__result--spe {
  display: block;
  font-size: 14px;
  line-height: 1.5;
  color: #4b5d70;
}
.concept-directory .listing-page__result--addr {
  margin: 14px 0 0;
  font-size: 14px;
  font-style: normal;
  line-height: 1.6;
  color: #33465b;
  overflow-wrap: anywhere;
}
.concept-directory .listing-page__result--conv {
  display: block;
  margin-top: 8px;
  font-size: 13px;
}
.concept-directory .concept-rating {
  font-size: 13px;
  color: #43586e;
}
.concept-directory .concept-proof {
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: #526174;
}
.concept-directory .concept-proof summary {
  cursor: pointer;
  padding: 10px 0;
  min-height: 44px;
}
.concept-directory .concept-proof summary:hover {
  color: #0b57d0;
}
.concept-directory .concept-proof p {
  margin: 0;
  padding: 8px 12px;
  border-left: 2px solid #bfd0e4;
  background: #f6f8fb;
  overflow-wrap: anywhere;
}
.concept-directory .listing-page__result--right {
  display: block;
  width: 100%;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #edf0f4;
}
.concept-directory .concept-cta-wrapper {
  display: block;
  width: 100%;
  min-height: 0;
}
.concept-directory .concept-cta-wrapper .std-btn {
  display: inline-flex;
  gap: 12px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border-radius: 8px;
  font-size: 14px;
}
.concept-directory .concept-practitioner__unavailable {
  margin: auto 0 0;
  padding-top: 16px;
  border-top: 1px solid #edf0f4;
  color: #526174;
  font-size: 13px;
  line-height: 1.5;
}
.concept-directory a:focus-visible,
.concept-directory summary:focus-visible {
  outline: 3px solid #3577c8;
  outline-offset: 4px;
  border-radius: 3px;
}
@media (max-width: 899px) {
  .concept-directory .concept-individuals,
  .concept-directory .concept-place__professionals {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 599px) {
  .concept-directory .concept-place {
    padding: 12px;
  }
  .concept-directory .concept-practitioner {
    padding: 16px;
    gap: 14px;
  }
  .concept-directory .listing-page__result--left {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 10px;
  }
  .concept-directory .concept-practitioner__avatar {
    width: 32px;
    height: 36px;
    border-radius: 8px;
  }
  .concept-directory .listing-page__result--name {
    font-size: 16px;
  }
  .concept-directory .concept-place__header h3 {
    font-size: 16px;
  }
  .concept-directory .concept-cta-wrapper .std-btn {
    width: 100%;
  }
}
.concept-directory .concept-cta-wrapper .std-btn {
  box-sizing: border-box;
  background: #0b57d0;
  color: #fff;
  text-decoration: none;
  border: 0;
  line-height: 1.4;
}
.concept-directory .concept-cta-wrapper .std-btn:hover {
  background: #0842a0;
}
.concept-directory-page .concept-pagination .std-btn {
  background: #fff;
  color: #0b57d0;
  border: 1px solid #e3e7ec;
}
.concept-directory-page .concept-editorial--local {
  max-width: 1110px;
  margin: 0 auto 24px;
  padding: 18px 22px;
  background: #f2f7f9;
  border: 1px solid #dce6eb;
  border-left: 3px solid #227391;
  border-radius: 8px;
  color: #3d5362;
}
.concept-directory-page .concept-editorial--local p {
  margin: 6px 0;
  font-size: 14px;
  line-height: 1.65;
}
.concept-directory-page .concept-editorial--local a {
  color: #21649a;
  text-decoration: underline;
}
.concept-directory-page .concept-editorial--local .concept-editorial__scope {
  margin-top: 12px;
  font-size: 12px;
}
@media (max-width: 719px) {
  .concept-directory-page .concept-editorial--local {
    margin-left: 10px;
    margin-right: 10px;
    padding: 16px;
  }
}
.concept-directory-page .concept-medical {
  color: #33465b;
  overflow-wrap: break-word;
}
.concept-directory-page .concept-medical > h2 {
  margin: 6px 0 24px;
  font-size: 24px;
  line-height: 1.35;
  color: #193b62;
}
.concept-directory-page .concept-medical h3,
.concept-directory-page .concept-medical h4 {
  margin: 28px 0 12px;
  line-height: 1.4;
  color: #193b62;
}
.concept-directory-page .concept-medical h3 {
  font-size: 20px;
}
.concept-directory-page .concept-medical h4 {
  font-size: 17px;
}
.concept-directory-page .concept-medical p,
.concept-directory-page .concept-medical li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
}
.concept-directory-page .concept-medical p {
  margin: 0 0 16px;
}
.concept-directory-page .concept-medical ul,
.concept-directory-page .concept-medical ol {
  margin: 12px 0 20px;
  padding-left: 24px;
}
.concept-directory-page .concept-medical ul {
  list-style: disc;
}
.concept-directory-page .concept-medical ol {
  list-style: decimal;
}
.concept-directory-page .concept-medical li {
  margin: 6px 0;
}
.concept-directory-page .concept-medical a {
  color: #21649a;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.concept-directory-page .concept-medical a:focus-visible,
.concept-directory-page .concept-medical summary:focus-visible {
  outline: 3px solid #3577c8;
  outline-offset: 3px;
}
.concept-directory-page .concept-medical .concept-medical__kicker,
.concept-directory-page .concept-medical .kicker,
.concept-directory-page .concept-medical .eyebrow {
  margin: 0 0 8px;
  color: #3577c8;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.concept-directory-page .concept-medical .kicker + h3,
.concept-directory-page .concept-medical .eyebrow + h3 {
  margin-top: 0;
}
.concept-directory-page .concept-medical .sources h3 {
  margin-top: 0;
  font-size: 17px;
}
.concept-directory-page .concept-medical .sources ul {
  margin-bottom: 0;
}
@media (max-width: 719px) {
  .concept-directory-page .concept-medical {
    padding: 20px 18px;
  }
  .concept-directory-page .concept-medical > h2 {
    font-size: 22px;
  }
  .concept-directory-page .concept-medical h3 {
    font-size: 18px;
  }
}
.concept-directory-page .breadcrumbs {
  box-sizing: border-box;
  max-width: 1110px;
  margin: 0 auto 24px;
  padding: 0 25px;
}
@media (max-width: 719px) {
  .concept-directory-page .breadcrumbs {
    width: calc(100% - 20px);
    margin-inline: 10px;
    padding-inline: 19px;
  }
}
@media (max-width: 719px) {
  .concept-directory-page .concept-sommaire ~ .breadcrumbs {
    padding-inline: 25px;
  }
}
