.geocatalog-public {
  --geocatalog-font-body: calc(1rem - 1px);
  --geocatalog-font-section-title: calc(1.5rem - 1px);

  max-width: 76rem;
  margin: 2rem auto;
  padding: 0 1rem;
}

.geocatalog-public--all,
.geocatalog-public--locality,
.geocatalog-public--single {
  color: #282d51;
  font-size: var(--geocatalog-font-body);
  line-height: 1.55;
}

.geocatalog-breadcrumbs ol {
  display: flex;
  width: auto;
  gap: .5rem;
  margin: 0 0 1.25rem;
  padding: 0;
  column-count: initial;
  column-gap: .5rem;
  counter-reset: none;
  list-style: none;
}

.geocatalog-breadcrumbs ol > li {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  margin: 0;
  padding: 0;
  counter-increment: none;
}

.geocatalog-breadcrumbs ol > li::before {
  display: none;
  content: none;
}

.geocatalog-breadcrumbs ol > li + li::before {
  position: static;
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0 .5rem 0 0;
  color: #8a91a2;
  font: inherit;
  line-height: inherit;
  content: "/";
}

.geocatalog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 1rem;
}

.geocatalog-notary-card,
.geocatalog-notary-detail {
  border: 1px solid #ddd;
  border-radius: .4rem;
  padding: 1rem;
}

.geocatalog-map {
  min-height: 28rem;
  margin-top: 1.5rem;
}

.geocatalog-public--locality {
  margin-top: 0;
}

.geocatalog-public--locality .geocatalog-map {
  min-height: 28rem;
  margin: 0 0 2.25rem;
  overflow: hidden;
  border-radius: 16px;
}

.geocatalog-public--locality .geocatalog-directory > h2,
.geocatalog-quick-access h2,
.geocatalog-catalog > h2,
.geocatalog-single-info > h2 {
  color: #141654;
  font-size: var(--geocatalog-font-section-title);
  font-weight: 500;
  letter-spacing: normal;
  line-height: 1.25;
  text-transform: none;
}

.geocatalog-public--locality .geocatalog-directory > h2 {
  margin: 0 0 1rem;
}

.geocatalog-result-count {
  margin: 0 0 1.5rem;
  color: #686f82;
}

.geocatalog-notary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.geocatalog-notary-card-shell {
  display: flex;
  min-width: 0;
  min-height: 14rem;
  flex-direction: column;
  padding: 1.35rem;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgb(32 37 70 / 7%);
}

.geocatalog-notary-card-shell[hidden] {
  display: none !important;
}

.geocatalog-notary-card-shell .geocatalog-notary-card,
.geocatalog-notary-card-shell .geocatalog-metro-card {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
}

.geocatalog-notary-card-shell .geocatalog-notary-card h3 {
  margin: 0 0 .75rem;
  color: #20264b;
  font-size: calc(1.08rem - 1px);
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.35;
  text-transform: none;
}

.geocatalog-notary-card-shell .geocatalog-notary-card h3 a {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #141654;
  text-decoration: none;
  text-underline-offset: .18em;
}

.geocatalog-card-surname,
.geocatalog-card-given-names {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #141654;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.geocatalog-notary-card-shell .geocatalog-notary-card h3 a:hover {
  color: #141654;
  text-decoration: underline;
  text-decoration-color: currentColor;
}

.geocatalog-map-card {
  display: grid;
  box-sizing: border-box;
  width: min(17rem, 72vw);
  min-width: 0;
  gap: .75rem;
  padding: .25rem .25rem .4rem;
  color: #282d51;
  font-family: o400;
  font-size: calc(1rem - 1px);
  line-height: 23px;
}

.geocatalog-map-card-name {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #141654;
  font-family: o600;
  font-size: calc(1.08rem - 1px);
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  text-underline-offset: .18em;
}

.geocatalog-map-card-name > span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.geocatalog-map-card-name:hover {
  color: #141654;
  text-decoration: underline;
  text-decoration-color: currentColor;
}

.geocatalog-map-card-detail:hover {
  color: #a90008;
  text-decoration: underline;
  text-decoration-color: currentColor;
}

.geocatalog-map-card-address {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: #686f82;
  line-height: 1.55;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.geocatalog-map-card-contacts {
  display: grid;
  min-width: 0;
  gap: .4rem;
}

.geocatalog-map-card-contacts a {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  align-items: center;
  gap: .5rem;
  color: #225fa8;
  text-decoration: none;
}

.geocatalog-map-card-contacts a > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.geocatalog-map-card-contacts a[href^="tel:"]::before,
.geocatalog-map-card-contacts a[href^="mailto:"]::before {
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
  background: currentColor;
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.69 2.8a2 2 0 0 1-.45 2.11L8.08 9.9a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.33 1.84.56 2.8.69A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.69 2.8a2 2 0 0 1-.45 2.11L8.08 9.9a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.33 1.84.56 2.8.69A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.geocatalog-map-card-contacts a[href^="mailto:"]::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.geocatalog-map-card-detail {
  width: fit-content;
  color: #a90008;
  font-family: o600;
  font-weight: 600;
  text-decoration: none;
  text-underline-offset: .18em;
}

.geocatalog-card-address {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  margin: 0 0 1rem;
  color: #686f82;
  line-height: 1.55;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.geocatalog-card-contacts {
  display: grid;
  gap: .4rem;
  margin-top: auto;
}

.geocatalog-card-contacts a {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  align-items: center;
  gap: .5rem;
  color: #225fa8;
  text-decoration: none;
}

.geocatalog-contact-value {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.geocatalog-card-contacts a:hover {
  color: #141654;
  text-decoration: none;
}

.geocatalog-card-contacts a[href^="tel:"]::before,
.geocatalog-card-contacts a[href^="mailto:"]::before {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  background: currentColor;
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.69 2.8a2 2 0 0 1-.45 2.11L8.08 9.9a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.33 1.84.56 2.8.69A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.69 2.8a2 2 0 0 1-.45 2.11L8.08 9.9a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.33 1.84.56 2.8.69A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.geocatalog-card-contacts a[href^="mailto:"]::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.geocatalog-metro-station + .geocatalog-metro-station {
  margin-top: 2rem;
}

.geocatalog-metro-heading {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0 0 1rem;
  color: #20264b;
  font-size: calc(1.08rem - 1px);
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.35;
  text-transform: none;
}

.geocatalog-metro-heading::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  flex: 0 0 2rem;
  border-radius: 9px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23a90008' d='M3 19 7 5h3l2 7 2-7h3l4 14h-4l-2-8-3 8-3-8-2 8H3Z'/%3E%3C/svg%3E") center / 1.25rem 1.25rem no-repeat;
}

.geocatalog-pagination {
  display: flex;
  gap: 1rem;
  margin: 1rem 0;
}

.geocatalog-public--all {
  margin-top: 0;
}

.geocatalog-public--all ::selection {
  background: #141654;
  color: #fff;
}

.geocatalog-all-header {
  padding-bottom: 1.75rem;
  background: #fff;
}

.geocatalog-all-intro {
  max-width: 68ch;
  margin: 0;
  color: #686f82;
  font-size: calc(1rem - 1px);
  line-height: 1.55;
}

.geocatalog-directory {
  padding: 2rem;
  border-radius: 16px;
  background: #f3f4f8;
}

.geocatalog-quick-access {
  margin-bottom: 2.25rem;
}

.geocatalog-quick-access h2,
.geocatalog-catalog > h2 {
  margin: 0 0 1rem;
}

.geocatalog-city-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.geocatalog-city-link {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  width: fit-content;
  min-height: 2.75rem;
  padding: .4rem .85rem .4rem .45rem;
  border: 1px solid #dfe2ea;
  border-radius: 12px;
  background: #fff;
  color: #282d51;
  text-decoration: none;
  text-transform: none;
  transition: border-color 160ms ease, transform 160ms ease;
}

.geocatalog-city-link:hover {
  border-color: #141654;
  color: #141654;
  transform: translateY(-1px);
  text-decoration: none;
}

.geocatalog-city-link--primary,
.geocatalog-city-link--primary:hover {
  border-color: transparent;
  background: #141654;
  color: #fff;
  font-weight: 600;
}

.geocatalog-city-icon {
  display: grid;
  flex: 0 0 2rem;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 9px;
  background: #f0f1f6;
  color: #555d78;
}

.geocatalog-city-icon::before {
  width: 1rem;
  height: 1rem;
  background: currentColor;
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4c0-.5.4-1 1-1h10c.6 0 1 .5 1 1v18'/%3E%3Cpath d='M2 22h20M9 7h1M14 7h1M9 11h1M14 11h1M9 15h1M14 15h1M10 22v-3h4v3'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4c0-.5.4-1 1-1h10c.6 0 1 .5 1 1v18'/%3E%3Cpath d='M2 22h20M9 7h1M14 7h1M9 11h1M14 11h1M9 15h1M14 15h1M10 22v-3h4v3'/%3E%3C/svg%3E") center / contain no-repeat;
}

.geocatalog-city-link--primary .geocatalog-city-icon {
  background: rgb(255 255 255 / 16%);
  color: #fff;
}

.geocatalog-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  margin: 0 0 .9rem;
}

.geocatalog-search-field {
  position: relative;
}

.geocatalog-search-field::before {
  position: absolute;
  top: 50%;
  left: 1rem;
  width: 1rem;
  height: 1rem;
  background: #7e8496;
  content: "";
  pointer-events: none;
  transform: translateY(-50%);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center / contain no-repeat;
}

.geocatalog-search input {
  box-sizing: border-box;
  width: 100%;
  min-height: 3rem;
  padding: .75rem 1rem .75rem 2.75rem;
  border: 1px solid #d9dde7;
  border-radius: 12px;
  background: #fff;
  color: #282d51;
  font: inherit;
}

.geocatalog-search input::placeholder {
  color: #7e8496;
}

.geocatalog-public--all .geocatalog-search > button {
  flex: 0 0 auto;
  width: auto;
  min-width: 7rem;
  min-height: 3rem;
  padding: .75rem 1.45rem;
  border: 0;
  border-radius: 12px;
  background: #a90008;
  color: #fff;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-transform: none;
  transition: background-color 160ms ease;
}

.geocatalog-public--locality .geocatalog-search > button {
  flex: 0 0 auto;
  width: auto;
  min-width: 7rem;
  min-height: 3rem;
  padding: .75rem 1.45rem;
  border: 0;
  border-radius: 12px;
  background: #a90008;
  color: #fff;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-transform: none;
  transition: background-color 160ms ease;
}

.geocatalog-public--locality .geocatalog-search > button:hover {
  background: #8f0007;
  box-shadow: none;
  transform: none;
}

.geocatalog-public--all .geocatalog-search > button:hover {
  background: #8f0007;
  box-shadow: none;
  transform: none;
}

.geocatalog-search input:focus-visible,
.geocatalog-search button:focus-visible,
.geocatalog-alphabet button:focus-visible,
.geocatalog-region-more summary:focus-visible,
.geocatalog-city-link:focus-visible {
  outline: 3px solid rgb(20 22 84 / 25%);
  outline-offset: 2px;
}

.geocatalog-alphabet {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem;
  margin-bottom: 1.5rem;
  padding: .55rem;
  border-radius: 14px;
  background: #fff;
}

.geocatalog-public--all .geocatalog-alphabet > button {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  min-width: 2.25rem;
  min-height: 2.25rem;
  padding: .35rem .65rem;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #555d70;
  font: inherit;
  cursor: pointer;
  text-transform: none;
  transition: background-color 160ms ease, color 160ms ease;
}

.geocatalog-public--all .geocatalog-alphabet > button:hover {
  background: #eeeff5;
  color: #141654;
  box-shadow: none;
  transform: none;
}

.geocatalog-public--all .geocatalog-alphabet > button[aria-pressed="true"] {
  background: #141654;
  color: #fff;
}

.geocatalog-region-grid {
  column-count: 2;
  column-gap: 1rem;
}

.geocatalog-region {
  display: inline-block;
  width: 100%;
  margin: 0 0 1rem;
  padding: 1.35rem;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgb(32 37 70 / 7%);
  break-inside: avoid;
  vertical-align: top;
}

.geocatalog-region[hidden] {
  display: none;
}

.geocatalog-region-header {
  margin-bottom: .75rem;
}

.geocatalog-region-header h3 {
  margin: 0;
  color: #20264b;
  font-size: calc(1.08rem - 1px);
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.35;
  text-transform: none;
}

.geocatalog-public--all .geocatalog-localities {
  display: grid;
  box-sizing: border-box;
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
  gap: .55rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.geocatalog-localities > li.geocatalog-locality {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.geocatalog-locality-link,
.geocatalog-localities > li.geocatalog-locality > a {
  display: inline;
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
  color: #225fa8;
  text-decoration: none;
  text-transform: none;
  text-underline-offset: .18em;
}

.geocatalog-locality-link:hover,
.geocatalog-localities > li.geocatalog-locality > a:hover {
  text-decoration: underline;
}

.geocatalog-locality-count {
  flex: 0 0 auto;
  color: #8a91a2;
  font-variant-numeric: tabular-nums;
}

.geocatalog-region-more {
  margin-top: 1rem;
}

.geocatalog-region-more summary {
  padding: 0;
  color: #970000;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: .2em;
}

.geocatalog-region-more summary::-webkit-details-marker {
  display: none;
}

.geocatalog-region-more summary:hover {
  text-decoration-color: currentColor;
}

.geocatalog-region-more-expanded {
  display: none;
}

.geocatalog-region-more[open] .geocatalog-region-more-collapsed {
  display: none;
}

.geocatalog-region-more[open] .geocatalog-region-more-expanded {
  display: inline;
}

.geocatalog-localities--more {
  margin-top: .75rem;
}

.geocatalog-region-more:not([open]) > .geocatalog-localities--more {
  display: none;
}

.geocatalog-directory-empty {
  margin: 0;
  padding: 1.5rem;
  border: 1px dashed #c5ccda;
  border-radius: 14px;
  color: #5f667d;
  text-align: center;
}

@media (max-width: 900px) {
  .geocatalog-directory {
    padding: 1.5rem;
  }

  .geocatalog-region-grid {
    column-count: 1;
  }

  .geocatalog-notary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .geocatalog-public {
    --geocatalog-font-section-title: calc(1.3rem - 1px);

    margin-top: 1.25rem;
    padding: 0 .75rem;
  }

  .geocatalog-directory {
    padding: 1.1rem;
    border-radius: 14px;
  }

  .geocatalog-search {
    gap: .5rem;
  }

  .geocatalog-public--all .geocatalog-search > button {
    padding-inline: 1rem;
  }

  .geocatalog-public--locality .geocatalog-search > button {
    padding-inline: 1rem;
  }

  .geocatalog-notary-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .geocatalog-notary-card-shell {
    min-height: 0;
  }
}

.geocatalog-single-map {
  width: 100%;
  margin-bottom: 36px;
}

.geocatalog-public--single .geocatalog-map {
  overflow: hidden;
  width: 100%;
  min-height: 390px;
  margin: 0;
  border-radius: 16px;
  background: #eef0f3;
}

.geocatalog-single-header {
  margin: 60px 25px 40px 25px;
}

.geocatalog-single-title {
  margin: 0 0 10px !important;
  color: #141654;
  font-size: clamp(25px, 4vw, 27px) !important;
  font-weight: 500 !important;
  line-height: 1.16 !important;
}

.geocatalog-single-title span {
  display: block;
}

.geocatalog-single-subtitle {
  margin: 0;
  color: #686f82;
  font-size: 14px;
  line-height: 1.55;
}

.geocatalog-single-info {
  padding: 30px;
  border-radius: 16px;
  background: #f3f4f8;
}

.geocatalog-single-info > h2 {
  margin: 0 0 22px;
}

.geocatalog-single-card {
  display: grid;
  min-width: 0;
  gap: 14px;
  padding: 26px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgb(32 37 70 / 8%);
}

.geocatalog-public--single .geocatalog-notary-detail {
  display: grid;
  min-width: 0;
  gap: 14px;
  padding: 0;
  border: 0;
  border-radius: 0;
}

.geocatalog-public--single .geocatalog-notary-detail > .geocatalog-all-header {
  display: none;
}

.geocatalog-detail-location {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}

.geocatalog-detail-location > div {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.geocatalog-detail-location dt {
  color: #7e8496;
  font-size: 13px;
}

.geocatalog-detail-location dd {
  margin: 0;
  color: #282d51;
  line-height: 1.5;
}

.geocatalog-detail-locality:has(.geocatalog-single-value:empty),
.geocatalog-detail-metro:has(.geocatalog-single-value:empty) {
  display: none;
}

.geocatalog-detail-row {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 12px;
  line-height: 1.55;
}

.geocatalog-detail-row {
  color: #686f82;
}

.geocatalog-detail-address address {
  margin: 0;
  color: inherit;
  font-style: normal;
}

.geocatalog-single-contacts {
  display: grid;
  min-width: 0;
  gap: 14px;
}

.geocatalog-single-contacts a {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  align-items: center;
  gap: 12px;
  color: #225fa8;
  text-decoration: none;
}

.geocatalog-single-contacts a:hover,
.geocatalog-single-contacts a:focus-visible {
  color: #141654;
  text-decoration: none;
}

.geocatalog-detail-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin-top: calc((1.55em - 18px) / 2);
  background-color: currentcolor;
}

.geocatalog-detail-icon--address {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.geocatalog-detail-metro {
  align-items: center;
  color: #141654;
  font-weight: 600;
}

.geocatalog-detail-icon--metro {
  display: grid;
  margin-top: 0;
  place-items: center;
  border-radius: 5px;
  background: #f3f4f8;
  color: #a90008;
  font-size: 11px;
  font-weight: 600;
}

.geocatalog-single-contacts a[href^="tel:"]::before,
.geocatalog-single-contacts a[href^="mailto:"]::before {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  align-self: center;
  background: currentColor;
  content: "";
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.78.62 2.63a2 2 0 0 1-.45 2.11L8 9.73a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.85.29 1.73.5 2.63.62A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.geocatalog-single-contacts a[href^="mailto:"]::before {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.geocatalog-single-title,
.geocatalog-single-subtitle,
.geocatalog-single-value {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 620px) {
  .geocatalog-detail-location {
    grid-template-columns: 1fr;
  }

  .geocatalog-single-map {
    margin-bottom: 28px;
  }

  .geocatalog-public--single .geocatalog-map {
    min-height: 300px;
  }

  .geocatalog-single-info {
    padding: 22px 18px;
  }

  .geocatalog-single-card {
    padding: 20px;
  }
}
