/* Article-only repairs. The homepage, journal cards and non-blog pages keep their approved layout. */
.layout-article .page-photo .photo-link img {
  aspect-ratio:auto;
  height:auto;
  min-height:0;
  max-height:none;
  object-fit:contain;
}
.layout-article .article-cover .page-photo {
  max-width:1000px;
  margin-inline:auto;
}
.layout-article .article-body {
  row-gap:24px;
}
.layout-article .article-body>.block-html .prose-block>:first-child {
  margin-top:0;
}
.layout-article .article-body>.block-html:has(>.prose-block>:is(h1,h2,h3,h4,h5,h6):first-child) {
  margin-top:32px;
}
.layout-article .article-body>.block-html .prose-block>:last-child {
  margin-bottom:0;
}
.layout-article .prose-block img[src*="/images/core/emoji/"] {
  display:inline;
  width:1em;
  height:1em;
  margin:0 .07em;
  vertical-align:-.1em;
}
.layout-article .article-body>.block-image {
  margin-block:12px 24px;
}
.layout-article .article-body>.block-image .page-photo {
  width:fit-content;
  max-width:100%;
  margin-inline:auto;
}
.layout-article .article-body>.block-image .photo-link {
  width:fit-content;
  max-width:100%;
  margin-inline:auto;
}
.layout-article .article-body>.block-image img {
  width:auto;
  max-width:100%;
  max-height:700px;
  margin-inline:auto;
}
.layout-article .photo-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.layout-article .photo-grid .page-photo:first-child {
  grid-column:auto;
  grid-row:auto;
}
.layout-article .photo-grid .page-photo a,
.layout-article .photo-grid .page-photo:first-child a {
  height:auto;
}
.layout-article .photo-grid .page-photo .photo-link img,
.layout-article .photo-grid .page-photo:first-child img {
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  min-height:0;
  object-fit:cover;
}
.layout-article .article-body>.block-map {
  grid-column:1/-1;
  width:min(100%,1000px);
  margin:16px auto 24px;
}
.blog-map-section {
  max-width:1000px;
  margin:72px auto 0;
}
.blog-map-section h2 {
  font:500 clamp(1.65rem,2.8vw,2.35rem)/1.25 var(--sans);
  letter-spacing:-.025em;
  margin:0 0 28px;
  text-wrap:balance;
}
.blog-map-wrap {
  position:relative;
  width:100%;
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:16px;
  overflow:hidden;
  isolation:isolate;
}
.blog-map-canvas {
  width:100%;
  height:500px;
  background:var(--surface);
  font-family:var(--sans);
}
.blog-map-wrap .leaflet-popup-content {
  line-height:1.55;
  font-size:15px;
}
.blog-map-wrap .leaflet-popup-content a {
  color:var(--accent);
  text-underline-offset:3px;
}
.blog-map-wrap .leaflet-control-attribution a {
  color:#315e7b;
}
.blog-map-wrap .custom-palovs-marker .palovs-marker-wrapper {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  width:50px;
  height:70px;
}
.blog-map-wrap .custom-palovs-marker .palovs-icon-img {
  width:40px;
  height:40px;
  border-radius:50%;
  border:2px solid white;
  background:white;
  object-fit:contain;
  box-shadow:0 2px 6px #0006;
  z-index:2;
}
.blog-map-wrap .custom-palovs-marker .triangle-pointer {
  width:0;
  height:0;
  margin-top:-2px;
  border-left:10px solid transparent;
  border-right:10px solid transparent;
  border-top:14px solid #ba9b6c;
  z-index:1;
}
.blog-map-error {
  margin:0;
  padding:24px;
  font-size:1rem;
}
.blog-map-error a {color:var(--accent)}
@media(max-width:760px) {
  .layout-article .article-body>.block-html:has(>.prose-block>:is(h1,h2,h3,h4,h5,h6):first-child) {
    margin-top:38px;
    margin-bottom:18px;
  }
  .layout-article .article-body>.block-image {margin-block:30px}
  .layout-article .article-body>.block-image img {max-height:550px}
  .layout-article .photo-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .blog-map-section {margin-top:44px}
  .blog-map-section h2 {font-size:1.65rem;margin-bottom:24px}
  .blog-map-canvas {height:390px}
  .blog-map-wrap {border-radius:12px}
}
