/* Complément documentaire de l'annuaire : mêmes surfaces et couleurs que la recherche principale. */
body.elf-bookstore-directory-page .elf-bookstore-search form {
  overflow: hidden;
  border: 1px solid #d5e1ea;
  border-top: 5px solid var(--elf-book-orange, #ef7c00);
  border-radius: 10px;
}

body.elf-bookstore-directory-page .elf-bookstore-filter :is(input, select) {
  border-radius: 7px;
}

body.elf-bookstore-directory-page .elf-cultural-explorer {
  position: relative;
  overflow: hidden;
  margin-block: clamp(44px, 6vw, 76px) !important;
  padding: clamp(22px, 3.4vw, 44px);
  border: 1px solid #d5e1ea;
  border-top: 5px solid var(--elf-book-orange, #ef7c00);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(18, 35, 51, .08);
  scroll-margin-top: 24px;
}

body.elf-bookstore-directory-page .elf-cultural-explorer > .elf-bookstore-kicker {
  display: inline-block;
  margin-bottom: 9px;
}

body.elf-bookstore-directory-page .elf-cultural-explorer > h2 {
  max-width: 1000px;
  margin: 0 0 14px !important;
  color: #101820;
  font-size: clamp(27px, 3vw, 40px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em;
}

body.elf-bookstore-directory-page .elf-cultural-explorer > p:first-of-type {
  max-width: 1050px;
  margin-bottom: 24px !important;
  color: #40586b !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

body.elf-bookstore-directory-page .elf-cultural-form {
  margin: 0 0 26px !important;
  padding: clamp(18px, 2.8vw, 30px);
  border: 1px solid #dce6ed;
  border-radius: 9px;
  background: #f5f9fc;
}

body.elf-bookstore-directory-page .elf-cultural-form .form-label {
  margin-bottom: 8px;
  color: #334b5e;
  font-size: 13px;
  font-weight: 800;
}

body.elf-bookstore-directory-page .elf-cultural-form :is(.form-control, .form-select) {
  min-height: 49px;
  border: 1px solid #b7c8d5;
  border-radius: 7px;
  background-color: #fff;
  color: #172d3f;
}

body.elf-bookstore-directory-page .elf-cultural-form :is(.form-control, .form-select):focus {
  border-color: #315f8e;
  box-shadow: 0 0 0 3px rgba(49, 95, 142, .14);
}

body.elf-bookstore-directory-page .elf-cultural-form small {
  display: block;
  margin-top: 6px;
  color: #526a7e;
  font-size: 12px;
}

body.elf-bookstore-directory-page .elf-cultural-form button {
  min-height: 48px;
  padding: 11px 20px;
  border: 1px solid #ef7c00;
  border-radius: 7px;
  background: #ef7c00;
  color: #111820;
  font-weight: 800;
  box-shadow: 0 9px 22px rgba(239, 124, 0, .16);
}

body.elf-bookstore-directory-page .elf-cultural-form button:hover {
  background: #d96d00;
}

body.elf-bookstore-directory-page .elf-cultural-results-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 12px;
  margin: 0 0 18px !important;
  color: #536c80 !important;
  font-size: 14px !important;
}

body.elf-bookstore-directory-page .elf-cultural-results-summary strong {
  color: #234968;
  font-size: 19px;
}

body.elf-bookstore-directory-page .elf-cultural-map {
  overflow: hidden;
  margin: 0 0 28px;
  border: 1px solid #d5e1ea;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 35, 52, .06);
}

body.elf-bookstore-directory-page .elf-cultural-map-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
}

body.elf-bookstore-directory-page .elf-cultural-kicker {
  color: #a95400;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.elf-bookstore-directory-page .elf-cultural-map-heading h3 {
  margin: 6px 0 4px !important;
  font-size: 23px !important;
}

body.elf-bookstore-directory-page .elf-cultural-map-heading p {
  margin: 0 !important;
  color: #526a7e !important;
  font-size: 14px !important;
}

body.elf-bookstore-directory-page .elf-cultural-map-heading label {
  display: grid;
  gap: 7px;
  min-width: min(100%, 280px);
  max-width: min(100%, 430px);
  color: #334b5e;
  font-size: 13px;
  font-weight: 800;
}

body.elf-bookstore-directory-page .elf-cultural-map-heading select {
  width: 100%;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #b7c8d5;
  border-radius: 7px;
  background: #fff;
  color: #172d3f;
}

body.elf-bookstore-directory-page .elf-cultural-map-frame {
  min-height: 350px;
  background: #eaf1f6;
}

body.elf-bookstore-directory-page .elf-cultural-map-frame iframe {
  display: block;
  width: 100%;
  height: 350px;
  border: 0;
}

body.elf-bookstore-directory-page .elf-cultural-map figcaption {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  align-items: baseline;
  margin: 0;
  padding: 12px 20px;
  border: 0 !important;
  color: #40586b;
  font-size: 13px;
}

body.elf-bookstore-directory-page .elf-cultural-map figcaption small {
  margin-left: auto;
}

body.elf-bookstore-directory-page .elf-cultural-map a,
body.elf-bookstore-directory-page .elf-cultural-table a,
body.elf-bookstore-directory-page .elf-cultural-counts a {
  color: #315f8e;
  font-weight: 750;
}

body.elf-bookstore-directory-page .elf-cultural-table-wrap,
body.elf-bookstore-directory-page .elf-cultural-counts .table-responsive {
  overflow-x: auto;
  border: 1px solid #d5e1ea;
  border-radius: 9px;
}

body.elf-bookstore-directory-page .elf-cultural-table,
body.elf-bookstore-directory-page .elf-cultural-counts .table {
  min-width: 760px;
  margin: 0;
  color: #172d3f;
}

body.elf-bookstore-directory-page .elf-cultural-table caption,
body.elf-bookstore-directory-page .elf-cultural-counts caption {
  caption-side: bottom;
  padding: 12px 16px;
  color: #526a7e;
  font-size: 13px;
}

body.elf-bookstore-directory-page .elf-cultural-table thead,
body.elf-bookstore-directory-page .elf-cultural-counts thead {
  background: #edf4f8;
}

body.elf-bookstore-directory-page .elf-cultural-table th,
body.elf-bookstore-directory-page .elf-cultural-table td,
body.elf-bookstore-directory-page .elf-cultural-counts :is(th, td) {
  padding: 15px 18px;
  border-color: #dce6ed;
  vertical-align: top;
  font-size: 14px;
  line-height: 1.55;
}

body.elf-bookstore-directory-page .elf-cultural-table tbody tr:nth-child(even),
body.elf-bookstore-directory-page .elf-cultural-counts tbody tr:nth-child(even) {
  background: #f8fbfd;
}

body.elf-bookstore-directory-page .elf-cultural-table tbody th {
  min-width: 225px;
  font-size: 15px;
}

body.elf-bookstore-directory-page .elf-cultural-table small {
  color: #607384;
  font-size: 12px;
  font-weight: 500;
}

body.elf-bookstore-directory-page .elf-cultural-row-number {
  display: inline-grid;
  width: 26px;
  height: 26px;
  place-items: center;
  margin-right: 5px;
  border-radius: 50%;
  background: #234968;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

body.elf-bookstore-directory-page .elf-cultural-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 24px;
}

body.elf-bookstore-directory-page .elf-cultural-pagination a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  padding: 8px 15px;
  border: 1px solid #c9d8e3;
  border-radius: 7px;
  background: #fff;
  color: #234968;
  font-weight: 750;
  text-decoration: none;
}

body.elf-bookstore-directory-page .elf-cultural-pagination a:hover {
  border-color: #315f8e;
  background: #f1f6fa;
}

body.elf-bookstore-directory-page .elf-cultural-counts {
  margin-top: 26px;
  padding: 18px 20px;
  border: 1px solid #d5e1ea;
  border-radius: 9px;
  background: #f8fbfd;
}

body.elf-bookstore-directory-page .elf-cultural-counts summary {
  cursor: pointer;
  color: #234968;
  font-weight: 800;
}

body.elf-bookstore-directory-page .elf-cultural-counts .table-responsive {
  margin-top: 18px;
  background: #fff;
}

body.elf-bookstore-directory-page .elf-cultural-source {
  margin: 22px 0 0 !important;
  padding: 16px 20px;
  border-left: 4px solid #ef7c00;
  border-radius: 0 8px 8px 0;
  background: #f5f9fc;
  color: #526a7e !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

body.elf-bookstore-directory-page .elf-cultural-empty {
  padding: 18px 20px;
  border: 1px solid #d5e1ea;
  border-radius: 8px;
  background: #f8fbfd;
}

@media (max-width: 767px) {
  body.elf-bookstore-directory-page .elf-cultural-explorer {
    width: calc(100% - 32px);
    padding: 20px 16px;
  }

  body.elf-bookstore-directory-page .elf-cultural-map-heading {
    padding: 18px;
  }

  body.elf-bookstore-directory-page .elf-cultural-map-heading label {
    width: 100%;
    max-width: none;
  }

  body.elf-bookstore-directory-page .elf-cultural-map-frame,
  body.elf-bookstore-directory-page .elf-cultural-map-frame iframe {
    min-height: 280px;
    height: 280px;
  }
}
