/* PlaCamp v0.8.5 — compact media on individual journal and gallery detail pages.
   Presentation only: no Gutenberg content or media attachments are changed. */
.pc083-single .pc083-article-cover,
.pc07-gallery-single > .wp-block-post-featured-image {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.pc083-single .pc083-article-cover img,
.pc07-gallery-single > .wp-block-post-featured-image img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  max-height: min(50vh, 480px);
  max-height: min(50dvh, 480px);
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center;
  background: #e8ede2;
  border-radius: 12px 34px 12px 12px;
}
.pc07-gallery-single > .wp-block-post-featured-image {
  margin-top: 0 !important;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem) !important;
}
/* If gallery content already has actual media, don't repeat the featured cover.
   Modern browsers support :has(); JS adds a class as a fallback. */
.pc07-gallery-single:has(.pc07-article-body :is(img,video)) > .wp-block-post-featured-image,
.pc07-gallery-single.pc085-has-inline-media > .wp-block-post-featured-image,
.pc083-single.pc085-duplicate-cover > .pc083-article-cover {
  display: none !important;
}
/* Scope every thumbnail rule to individual posts or gallery detail pages. */
.pc083-single .pc083-article-content :is(.wp-block-image,.wp-block-video),
.pc07-gallery-single .pc07-article-body :is(.wp-block-image,.wp-block-video) {
  box-sizing: border-box;
  max-width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
}
.pc083-single .pc083-article-content :is(.wp-block-image,.wp-block-video) img,
.pc07-gallery-single .pc07-article-body :is(.wp-block-image,.wp-block-video) img,
.pc083-single .pc083-article-content video,
.pc07-gallery-single .pc07-article-body video {
  display: block;
  width: auto;
  height: auto;
  max-width: 100% !important;
  max-height: min(62vh, 600px) !important;
  max-height: min(62dvh, 600px) !important;
  object-fit: contain !important;
  margin-inline: auto;
  border-radius: 10px;
}
.pc083-single .pc083-article-content :is(.wp-block-image,.wp-block-video),
.pc07-gallery-single .pc07-article-body :is(.wp-block-image,.wp-block-video),
.pc07-gallery-single .pc07-article-body :is(.wp-block-gallery,.blocks-gallery-grid) {
  max-width: 860px;
}
.pc07-gallery-single .pc07-article-body {padding-bottom: clamp(2rem,4vw,3.5rem)}
.pc07-gallery-single .pc07-article-body .wp-block-post-content > :where(.wp-block-image,.wp-block-video) {
  margin-top: clamp(1rem,2vw,1.6rem);
  margin-bottom: clamp(1rem,2vw,1.6rem);
}
.pc085-media-grid {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(.8rem, 2vw, 1.4rem);
  align-items: start;
  width: min(100%, 980px);
  max-width: 980px;
  margin: clamp(1.4rem,3vw,2.5rem) auto !important;
}
.pc085-media-grid > :is(.wp-block-image,.wp-block-video) {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
}
.pc07-gallery-single .pc07-article-body .pc085-media-grid > .wp-block-image img,
.pc07-gallery-single .pc07-article-body .pc085-media-grid > .wp-block-video video,
.pc07-gallery-single .pc07-article-body .pc085-media-grid .pc085-video-preview video {
  max-width: 100% !important;
  max-height: min(45vh, 440px) !important;
  max-height: min(45dvh, 440px) !important;
}
.pc085-media-grid figcaption {font-size: .8rem; line-height: 1.6; color: #657367; margin-top: .45rem}
.pc085-video-preview {position: relative; width: fit-content; max-width: 100%; margin-inline: auto; background: #eeece7; border-radius: 10px; overflow: hidden}
.pc085-video-preview video {display:block; pointer-events:none; max-width: 100%; background:#eeece7}
.pc085-video-launch {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  position:absolute;
  inset:0;
  width:100%;
  border:0;
  padding:1rem;
  color:#fff;
  background:linear-gradient(0deg,rgba(23,23,23,.28),rgba(23,23,23,.02) 55%,rgba(23,23,23,.02));
  font-weight:700;
  font-size:.88rem;
  line-height:1.4;
  font-family:inherit;
  cursor:pointer;
}
.pc085-video-launch .pc085-play-icon {display:grid;place-items:center;width:3.6rem;height:3.6rem;font-size:1.28rem;border-radius:100%;background:rgba(255,255,255,.96);color:#172922;border:1px solid rgba(0,0,0,.08);box-shadow:0 3px 24px rgba(0,0,0,.12);transition:transform .22s ease,box-shadow .22s ease}
.pc085-video-launch .pc085-play-text {display:inline-block;padding:.4rem .72rem;border-radius:99px;background:rgba(255,255,255,.94);color:#24342c;white-space:nowrap;font-size:.78rem;box-shadow:0 2px 12px rgba(0,0,0,.07)}
.pc085-video-launch:hover .pc085-play-icon,.pc085-video-launch:focus-visible .pc085-play-icon {background:#fff;transform:scale(1.06);box-shadow:0 4px 30px rgba(0,0,0,.15)}
.pc085-video-launch:focus-visible {outline:3px solid #d9ef70; outline-offset:-4px}
.pc085-zoomable {cursor:zoom-in}
.pc085-zoomable:focus-visible {outline:3px solid #966047;outline-offset:4px}

/* v0.8.6 viewer — quiet, neutral editorial treatment instead of a dark-green lightbox. */
.pc085-media-dialog {
  position:fixed;
  inset:0;
  border:1px solid rgba(41,53,46,.10);
  width:min(calc(100vw - 2.5rem), 1100px);
  max-width:1100px;
  max-height:calc(100dvh - 2.5rem);
  padding:clamp(.8rem,1.55vw,1.2rem);
  background:#fdfcf9;
  color:#1d3026;
  border-radius:18px;
  box-shadow:0 25px 90px rgba(25,26,24,.16);
  box-sizing:border-box;
  overflow:auto;
  overscroll-behavior:contain;
}
.pc085-media-dialog.pc086-portrait {width:min(calc(100vw - 2.5rem), 560px)}
.pc085-media-dialog::backdrop {
  background:rgba(236,233,226,.86);
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
}
.pc086-viewer-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:38px;
  padding:0 0 .75rem .25rem;
}
.pc086-viewer-label {
  color:#69736b;
  font-size:.74rem;
  font-weight:600;
  letter-spacing:.04em;
  line-height:1.4;
}
.pc085-dialog-content {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:3rem;
  padding:0 0 .2rem;
}
.pc085-dialog-content img,.pc085-dialog-content video {
  display:block;
  object-fit:contain;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:calc(100dvh - 8.5rem);
  border-radius:9px;
}
.pc085-dialog-content video {background:#151515}
.pc085-dialog-close {
  position:static;
  display:grid;
  place-items:center;
  flex:none;
  width:38px;
  height:38px;
  border:1px solid #e2e3dd;
  border-radius:100%;
  padding:0;
  color:#28372e;
  background:#fff;
  font-size:1.45rem;
  font-weight:400;
  line-height:1;
  font-family:inherit;
  cursor:pointer;
  box-shadow:0 1px 8px rgba(0,0,0,.04);
  transition:background .2s ease,transform .2s ease;
}
.pc085-dialog-close:hover {background:#f3f4ef;transform:scale(1.04)}
.pc085-dialog-close:focus-visible {outline:3px solid #9bad79;outline-offset:3px}
body.pc085-modal-open {overflow:hidden}
@keyframes pc086-enter {from{opacity:0;transform:translateY(12px) scale(.986)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes pc086-leave {from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(7px) scale(.992)}}
@keyframes pc086-backdrop-enter {from{opacity:0}to{opacity:1}}
@keyframes pc086-backdrop-leave {from{opacity:1}to{opacity:0}}
.pc085-media-dialog[open] {animation:pc086-enter 260ms cubic-bezier(.2,.75,.24,1) both}
.pc085-media-dialog[open]::backdrop {animation:pc086-backdrop-enter 260ms ease both}
.pc085-media-dialog.pc086-closing[open] {animation:pc086-leave 180ms ease both}
.pc085-media-dialog.pc086-closing[open]::backdrop {animation:pc086-backdrop-leave 180ms ease both}
@media (prefers-reduced-motion:reduce) {
  .pc085-media-dialog[open],.pc085-media-dialog[open]::backdrop,
  .pc085-media-dialog.pc086-closing[open],.pc085-media-dialog.pc086-closing[open]::backdrop {animation:none!important}
  .pc085-dialog-close,.pc085-video-launch .pc085-play-icon {transition:none!important}
}
@media(max-width:680px) {
  .pc085-media-grid {grid-template-columns:1fr;gap:1rem}
  .pc083-single .pc083-article-cover img,
  .pc07-gallery-single > .wp-block-post-featured-image img {max-height:44vh;max-height:44dvh;border-radius:10px 28px 10px 10px}
  .pc083-single .pc083-article-content :is(.wp-block-image,.wp-block-video) img,
  .pc07-gallery-single .pc07-article-body :is(.wp-block-image,.wp-block-video) img,
  .pc083-single .pc083-article-content video,
  .pc07-gallery-single .pc07-article-body video,
  .pc085-media-grid > .wp-block-image img,
  .pc085-media-grid > .wp-block-video video,
  .pc085-media-grid .pc085-video-preview video {max-height: min(54dvh, 480px) !important}
  .pc085-media-dialog {width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);padding:.6rem;border-radius:14px}
  .pc085-dialog-content img,.pc085-dialog-content video {max-height:calc(100dvh - 6.5rem)}
}

/* v0.8.11: lightbox on small screens avoids costly backdrop blur repaints. */
@media (max-width: 700px) {
  .pc085-media-dialog::backdrop {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
