/* Gallery-only enhancement. No photo editing or cropping; the image/caption
   scroll independently while native dialog Close and navigation stay visible. */
.guest-edition83 .guest-gallery83 .gallery-empty82 { grid-column:1 / -1; width:100%; }
.guest-edition83 .gallery-instagram831 {
  width:100%;
  max-width:760px;
  padding:clamp(24px,4vw,48px) 0;
  border-top:1px solid var(--gold);
}
.guest-edition83 .gallery-instagram831 h2 {
  max-width:24ch;
  margin:0 0 14px;
  color:var(--ink);
  font:400 clamp(1.85rem,3vw,2.65rem)/1.18 Georgia,serif;
  text-wrap:balance;
}
.guest-edition83 .guest-gallery83 .gallery-instagram831 p {
  max-width:48ch;
  margin:0 0 24px;
  color:var(--muted);
  font-size:1.05rem;
}
.guest-edition83 .gallery-instagram831 .button { min-height:44px; max-width:100%; white-space:normal; }
.guest-edition83 .gallery-viewer82[open] {
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:12px;
  width:min(1120px,calc(100vw - 32px));
  height:min(880px,calc(100dvh - 32px));
  max-height:calc(100dvh - 32px);
  padding:18px;
  overflow:hidden;
}
.guest-edition83 .gallery-viewer82 [hidden] { display:none !important; }
.guest-edition83 .gallery-viewer82__header { margin:0; min-width:0; }
.guest-edition83 .gallery-viewer82__header h2 { overflow-wrap:anywhere; }
.guest-edition83 .gallery-viewer82__close { flex:none; }
.guest-edition83 .gallery-viewer82__viewport {
  min-width:0;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.guest-edition83 .gallery-viewer82__viewport:focus-visible { outline:2px solid var(--focus); outline-offset:-2px; }
.guest-edition83 .gallery-viewer82__stage { min-width:0; touch-action:pan-y pinch-zoom; }
.guest-edition83 .gallery-viewer82__image {
  width:auto;
  max-width:100%;
  height:auto;
  max-height:min(58dvh,610px);
  object-fit:contain;
  image-orientation:from-image;
  background:var(--cream);
}
.guest-edition83 .gallery-viewer82__caption {
  margin:16px 0 10px;
  max-width:80ch;
  line-height:1.6;
  white-space:pre-line;
  overflow-wrap:anywhere;
}
.guest-edition83 .gallery-viewer82__caption strong { margin-bottom:4px; }
.guest-edition83 .gallery-viewer82__loading,
.guest-edition83 .gallery-viewer82__error { margin:12px 0; }
.guest-edition83 .gallery-viewer82__loading { color:var(--muted); }
.guest-edition83 .gallery-viewer82__error { color:var(--ink); }
.guest-edition83 .gallery-viewer82__retry[aria-disabled="true"] { opacity:.6; cursor:progress; }
.guest-edition83 .gallery-viewer82__footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:10px;
  border-top:1px solid var(--line);
  min-width:0;
}
.guest-edition83 .gallery-viewer82__count { margin:0; flex:1; }
.guest-edition83 .gallery-viewer82__controls { flex:none; }
@media (max-width:600px) {
  .guest-edition83 .gallery-viewer82[open] {
    width:calc(100vw - 16px);
    height:calc(100dvh - 16px);
    max-height:calc(100dvh - 16px);
    padding:12px;
    gap:10px;
  }
  .guest-edition83 .gallery-viewer82__footer { flex-wrap:wrap; gap:8px; }
  .guest-edition83 .gallery-viewer82__controls { margin-left:auto; gap:8px; }
  .guest-edition83 .gallery-viewer82__image { height:auto; max-height:52dvh; }
}
@media (max-height:500px) and (orientation:landscape) {
  .guest-edition83 .gallery-viewer82[open] { padding:8px 12px; gap:6px; }
  .guest-edition83 .gallery-viewer82__image { height:auto; max-height:calc(100dvh - 150px); }
  .guest-edition83 .gallery-viewer82__footer { padding-top:6px; }
}

/* Only captions with an initialized native viewer and an explicit open control
   are excerpted. The original text remains in the page and full viewer. */
.guest-edition83 .guest-gallery83 .gallery figcaption[data-gallery-excerpt882] > span {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
}
.guest-edition83 .guest-gallery83 .gallery .gallery-caption882__open {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  max-width:100%;
  margin-top:10px;
  padding:8px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:transparent;
  color:var(--ink);
  font:inherit;
  font-size:.9375rem;
  line-height:1.35;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
  cursor:pointer;
}
.guest-edition83 .guest-gallery83 .gallery .gallery-caption882__open:hover { background:var(--surface-raised); }
.guest-edition83 .guest-gallery83 .gallery .gallery-caption882__open:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.guest-edition83 .guest-gallery83 .gallery .gallery-caption882__open[hidden] { display:none; }
