/* Individual WordPress posts only. Homepage cards retain their own styles. */
body.single-post #content article.post__holder.type-post .post-header {
  box-sizing: border-box;
  margin: 0;
  padding: 19px clamp(16px, 2vw, 24px) 14px;
  border: 1px solid #cdb69d;
  background: #fbf8f3;
  text-align: center;
}

body.single-post #content article.post__holder.type-post.has-post-thumbnail .post-header {
  border-bottom: 0;
}

body.single-post #content article.post__holder.type-post .post-header h2.post-title {
  height: auto;
  max-height: none;
  margin: 0 auto;
  padding: .1em .08em .17em;
  overflow: visible;
  color: #746558;
  font-family: 'Imperial Script', cursive;
  font-size: clamp(44px, 4vw, 52px);
  line-height: 1.2;
  text-align: center;
  text-wrap: balance;
}

body.single-post #content article.post__holder.type-post .post_content > .thumb-container {
  box-sizing: border-box;
  margin: 0;
  padding: 0 clamp(16px, 2vw, 24px) clamp(16px, 2vw, 24px);
  border: 1px solid #cdb69d;
  border-top: 0;
  background: #fbf8f3;
  box-shadow: 0 10px 32px rgba(84, 68, 50, .08);
}

body.single-post #content article.post__holder.type-post .thumb-container figure.featured-thumbnail {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0;
}

body.single-post #content article.post__holder.type-post .thumb-container figure.featured-thumbnail img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  transform-origin: center;
  animation: mgsiteSinglePhotoBreathe 13s ease-in-out infinite alternate;
}

body.single-post #content article.post__holder.type-post .thumb-container figure.featured-thumbnail::after {
  content: '';
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 50%;
  width: clamp(40px, 11%, 76px);
  height: 2px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, #b28b6a 26%, #d1b397 50%, #b28b6a 74%, transparent);
  pointer-events: none;
  transition: width .65s ease;
}

body.single-post #content article.post__holder.type-post .thumb-container figure.featured-thumbnail::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  opacity: 0;
  transform: translateX(-115%);
  background: linear-gradient(105deg, transparent 35%, rgba(240, 210, 173, .05) 44%, rgba(255, 238, 205, .24) 50%, rgba(188, 140, 88, .08) 54%, transparent 64%);
  pointer-events: none;
}

body.single-post #content article.post__holder.type-post .thumb-container figure.featured-thumbnail:hover::before {
  animation: mgsiteSinglePhotoGlint 1.9s ease-out both;
}

body.single-post #content article.post__holder.type-post .thumb-container figure.featured-thumbnail:hover::after {
  width: clamp(80px, 22%, 130px);
}

@keyframes mgsiteSinglePhotoBreathe {
  from { transform: scale(1.005); }
  to { transform: scale(1.025); }
}

@keyframes mgsiteSinglePhotoGlint {
  0% { opacity: 0; transform: translateX(-115%); }
  18%, 75% { opacity: .85; }
  100% { opacity: 0; transform: translateX(115%); }
}

/* A standard Heading block at level H3 gives future posts this treatment. */
body.single-post #content article.post__holder.type-post .post_content > .isopad > h3,
body.single-post #content article.post__holder.type-post .post_content > .isopad > h2,
body.single-post #content article.post__holder.type-post .mgsite-legacy-section-heading {
  position: relative;
  display: block;
  margin: 26px 0 9px;
  padding: 0 0 13px;
  color: #8a6d59 !important;
  font: italic 500 clamp(27px, 3vw, 34px)/1.15 'Cormorant Garamond', Georgia, serif;
  text-align: inherit;
  overflow-wrap: break-word;
}

body.single-post #content article.post__holder.type-post .post_content > .isopad > h3::after,
body.single-post #content article.post__holder.type-post .post_content > .isopad > h2::after,
body.single-post #content article.post__holder.type-post .mgsite-legacy-section-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 76px;
  height: 1px;
  background: linear-gradient(90deg, #b28a6b, transparent);
}

body.single-post #content article.post__holder.type-post .mgsite-legacy-section-heading * {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-style: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

body.single-post #content article.post__holder.type-post .mgsite-legacy-section-break {
  display: none;
}

body.single-post #content article.post__holder.type-post p.mgsite-legacy-section-standalone {
  margin: 26px 0 9px;
}

body.single-post #content article.post__holder.type-post p.mgsite-legacy-section-standalone > .mgsite-legacy-section-heading {
  margin: 0;
}

body.single-post #content article.post__holder.type-post p.mgsite-legacy-section-standalone[style*='center'] > .mgsite-legacy-section-heading::after {
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, #b28a6b 50%, transparent);
}

@media (max-width: 700px) {
  body.single-post #content article.post__holder.type-post .post-header {
    padding: 14px 16px 11px;
  }
  body.single-post #content article.post__holder.type-post .post-header h2.post-title {
    font-size: clamp(39px, 10vw, 46px);
  }
  body.single-post #content article.post__holder.type-post .post_content > .thumb-container {
    padding: 0 16px 16px;
  }
  body.single-post #content article.post__holder.type-post .post_content > .isopad > h3,
  body.single-post #content article.post__holder.type-post .post_content > .isopad > h2,
  body.single-post #content article.post__holder.type-post .mgsite-legacy-section-heading {
    font-size: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-post #content article.post__holder.type-post .thumb-container figure.featured-thumbnail img,
  body.single-post #content article.post__holder.type-post .thumb-container figure.featured-thumbnail:hover::before {
    animation: none;
  }
  body.single-post #content article.post__holder.type-post .thumb-container figure.featured-thumbnail::before {
    display: none;
  }
  body.single-post #content article.post__holder.type-post .thumb-container figure.featured-thumbnail::after {
    transition: none;
  }
}

/* On desktop, echo the post's cream folio and its existing editorial type. */
@media (min-width: 768px) {
  body.single-post #content .row.paging {
    display: flex;
    align-items: stretch;
    margin: 18px -15px 32px;
    border-block: 1px solid #cdb69d;
    background: #fff;
  }

  body.single-post #content .row.paging > [class*='col-'] {
    float: none;
    flex: 1 1 50%;
    width: auto;
    min-width: 0;
    padding: 0;
  }

  body.single-post #content .row.paging > [class*='col-']:not(:has(a)),
  body.single-post #content .row.paging > .clear {
    display: none;
  }

  body.single-post #content .row.paging .direct-link-left,
  body.single-post #content .row.paging .direct-link-right {
    position: relative;
    top: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    min-height: 136px;
    margin: 0;
    padding: 23px clamp(22px, 3vw, 36px);
    line-height: 1.2;
  }

  body.single-post #content .row.paging .direct-link-right {
    border-left: 1px solid #e7dace;
  }

  body.single-post #content .row.paging:not(:has(.direct-link-right)) .direct-link-left,
  body.single-post #content .row.paging:not(:has(.direct-link-left)) .direct-link-right {
    border-left: 0;
    text-align: center;
  }

  body.single-post #content .row.paging p {
    margin: 0 0 7px;
    color: #c6a58d;
    font: 400 12px/1.3 'Lustria', Georgia, serif;
    letter-spacing: .17em;
    text-transform: uppercase;
  }

  body.single-post #content .row.paging span {
    display: block;
    color: #746558;
    font: italic 500 clamp(23px, 2.3vw, 28px)/1.14 'Cormorant Garamond', Georgia, serif;
    overflow-wrap: break-word;
  }

  body.single-post #content .row.paging a:hover span,
  body.single-post #content .row.paging a:focus-visible span {
    text-decoration: underline;
    text-decoration-color: #c6a58d;
    text-underline-offset: 5px;
  }
}

/* Keep the compact phone navigation independent of the desktop folio. */
@media (max-width: 767px) {
  body.single-post #content .row.paging {
    display: block;
    margin: 14px 0 28px;
    border-top: 1px solid #dbc8b6;
  }

  body.single-post #content .row.paging > [class*='col-'] {
    float: none;
    width: 100%;
    min-height: 0;
    padding: 0;
  }

  body.single-post #content .row.paging .direct-link-left,
  body.single-post #content .row.paging .direct-link-right {
    position: relative;
    top: auto;
    display: block;
    margin: 0;
    padding: 12px 14px 13px;
    border-bottom: 1px solid #e8dbcf;
    line-height: 1.25;
    text-align: left;
  }

  body.single-post #content .row.paging .direct-link-right {
    text-align: right;
  }

  body.single-post #content .row.paging p {
    margin: 0 0 4px;
    color: #9b7a65;
    font-family: 'Lustria', Georgia, serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  body.single-post #content .row.paging span {
    display: block;
    color: #746558;
    font: italic 500 20px/1.2 'Cormorant Garamond', Georgia, serif;
    overflow-wrap: break-word;
  }

  body.single-post #content .row.paging a:focus-visible .direct-link-left,
  body.single-post #content .row.paging a:focus-visible .direct-link-right {
    outline: 1px solid #b28a6b;
    outline-offset: -3px;
  }
}
