/* PlaCamp v0.8.9 — one website, two media atmospheres.
 * The site shell, typography, header, footer and story background remain
 * identical for day and night. Only the PHOTO/VIDEO MATTE changes.
 */
body.single-placamp_gallery .pc087-story-page {
  --pc-story-ink:#20352b;
  --pc-story-muted:#6a786e;
  --pc-story-line:#e3e6dd;
  background-color:#fcfbf7;
  color:#20352b;
  background-image:
    radial-gradient(ellipse 64% 20% at 90% 8%,rgba(163,178,150,.062),transparent 83%),
    radial-gradient(ellipse 42% 18% at 3% 86%,rgba(199,168,125,.052),transparent 85%);
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
/* A single, nearly invisible campsite sketch in the margin, not wallpaper. */
body.single-placamp_gallery .pc087-story-page::before {
  content:'';
  position:absolute;
  top:clamp(70px,9vw,130px);
  right:max(-2.5rem,calc((100% - 1380px)/2));
  width:clamp(96px,12vw,150px);
  aspect-ratio:400 / 270;
  background:url('../images/story-motifs.svg') center / contain no-repeat;
  opacity:.039;
  pointer-events:none;
  z-index:0;
}
body.single-placamp_gallery .pc087-story-page > * {position:relative;z-index:1}
/* Invariant page identity: headline, category, date and navigation. */
body.single-placamp_gallery .pc087-story-head .wp-block-post-title {
  color:#20352b!important;
  max-width:900px;
  text-wrap:pretty;
}
body.single-placamp_gallery .pc087-story-head :is(.pc07-kicker,.wp-block-post-date,.pc087-story-count) {
  color:#6a786e!important;
}
body.single-placamp_gallery .pc087-story-head .pc07-kicker::before {
  content:'';
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  margin-right:.75em;
  vertical-align:middle;
  background:#d78859;
}
body.single-placamp_gallery .pc087-story-body .wp-block-post-content {
  color:#20352b;
}
body.single-placamp_gallery .pc087-story-navigation a {color:#2a4939!important}
/* Day = untouched paper-like gallery. Night = a local matte behind the media.
 * No dark body, full-width panels, dark header/footer or inverted typography. */
body.single-placamp_gallery.pc088-mood-night .pc087-story-sequence {
  background:
    radial-gradient(ellipse 58% 75% at 80% 10%,rgba(207,137,78,.115),transparent 79%),
    linear-gradient(155deg,#494744,#3c3d3b 73%,#44403c);
  border:1px solid rgba(82,73,62,.24);
  border-radius:clamp(12px,1.7vw,18px);
  padding:clamp(12px,2vw,24px);
  box-shadow:0 11px 34px rgba(43,38,30,.075);
}
/* Keep the same spacing, card silhouettes and site typography in both moods. */
body.single-placamp_gallery.pc088-mood-night .pc087-story-body .wp-block-post-content > .pc087-story-sequence + p {
  border-left-color: #c4b49a;
}
body.single-placamp_gallery.pc088-mood-night .pc087-story-item::before {
  color:#efe6da;
}
body.single-placamp_gallery.pc088-mood-night .pc087-story-item :is(figcaption,.wp-element-caption) {
  color:#ded5c8;
}
body.single-placamp_gallery.pc088-mood-night .pc087-story-item :is(a:has(>img),.pc085-video-preview) {
  background:#31312f;
  border-radius:10px;
  border-color:rgba(240,234,224,.1);
  box-shadow:none;
}
body.single-placamp_gallery.pc088-mood-night .pc087-story-item :is(img,video) {
  background:#292a29;
}
/* Videos retain their controls, and share the selected gallery viewing atmosphere. */
body.single-placamp_gallery.pc088-mood-night .pc087-story-item .pc085-video-launch .pc085-play-icon {
  color:#222b26;
  background:#f7f4ee;
}
/* v0.8.14: NIGHT VIEWER ONLY. The <dialog> is appended directly to <body>
 * by media-detail.js, outside .pc087-story-page. Scope to the saved gallery mood
 * rather than making every article or daylight popup dark.
 * Keep the established fade timing, media sizing, keyboard and touch behavior.
 */
body.single-placamp_gallery.pc088-mood-night > .pc085-media-dialog {
  color: #f1ede4;
  background: linear-gradient(155deg, #302e2b 0%, #272725 64%, #252523 100%);
  border-color: rgba(226, 211, 186, .18);
  box-shadow: 0 24px 84px rgba(13, 13, 12, .42);
}
body.single-placamp_gallery.pc088-mood-night > .pc085-media-dialog::backdrop {
  background: rgba(25, 24, 23, .82);
  /* Do not override backdrop-filter here: on phones the existing
     max-width:700px rule disables costly blur. */
}
body.single-placamp_gallery.pc088-mood-night .pc085-media-dialog .pc086-viewer-label {
  color: #ded4c6;
}
body.single-placamp_gallery.pc088-mood-night .pc085-media-dialog .pc085-dialog-close {
  color: #f1ede4;
  background: #403c37;
  border-color: rgba(242, 233, 218, .24);
  box-shadow: 0 1px 12px rgba(0, 0, 0, .12);
}
body.single-placamp_gallery.pc088-mood-night .pc085-media-dialog .pc085-dialog-close:hover {
  background: #51483f;
}
body.single-placamp_gallery.pc088-mood-night .pc085-media-dialog .pc085-dialog-close:focus-visible {
  outline-color: #deb27f;
}
body.single-placamp_gallery.pc088-mood-night .pc085-media-dialog .pc085-dialog-content :is(img, video) {
  box-shadow: 0 8px 28px rgba(0, 0, 0, .14);
}

/* Fix duplicate cover in both modes without altering stored blocks. */
main.pc07-gallery-single.pc085-has-inline-media > figure.wp-block-post-featured-image,
main.pc083-single.pc085-duplicate-cover > figure.pc083-article-cover {display:none!important}
@media (max-width:740px) {
  body.single-placamp_gallery .pc087-story-page::before {
    width:110px; right:-3.3rem; top:3rem; opacity:.027;
  }
  body.single-placamp_gallery.pc088-mood-night .pc087-story-sequence {
    border-radius:16px;
    padding:12px;
  }
}
@media (prefers-reduced-motion:reduce) {
  body.single-placamp_gallery .pc087-story-item .pc085-zoomable {transition:none!important}
}
