/* Страница выставки: принятый образец 22.08.2026 на модели TASK-006. */
.exhibition{ --shot-gap:var(--space-3); }
.main--exhibition > .crumbs{ margin-block-start:0; margin-block-end:var(--space-4); }
.main--exhibition > .exhibition{ margin-block-start:0; }
/* «Галерея» в шапке — только на выставке: лист грузится и на статьях (общий просмотр снимков),
   без привязки к странице пункт горел на каждой статье (замечание владельца 04.10.2026). */
.single-ph_exhibition .nav__top[href="/gallery"]{ font-weight:var(--wght-meta); box-shadow:inset 0 -2px 0 0 var(--ink); }

.exh__head{ padding-block-end:var(--space-4); border-block-end:1px solid var(--rule-strong); }
.exh__title{
  margin:var(--space-2) 0 0;
  max-width:calc(var(--step-5) * 40);
  font-size:var(--step-5); font-weight:var(--wght-head2);
  font-variation-settings:"opsz" var(--opsz-head2);
  line-height:var(--lh-head2); letter-spacing:-.015em; text-wrap:balance;
}
.exh__meta{
  display:flex; flex-direction:column; gap:var(--space-1);
  margin:var(--space-3) 0 0;
  font-family:var(--font-apparatus); font-size:var(--step-1);
  font-variation-settings:normal; line-height:var(--lh-meta); color:var(--ink-mute);
}
.exh__meta strong{ color:var(--ink-soft); font-weight:var(--wght-meta); }
.exh__meta a{ color:inherit; text-decoration:none; border-block-end:1px solid var(--rule); }
.exh__meta a:hover{ border-block-end-color:var(--ink-mute); }
.exh__meta a:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.exh__lead{
  max-width:var(--measure-text); margin:var(--space-4) 0 0;
  color:var(--ink-soft); font-size:var(--step-3); line-height:var(--lh-body);
}
.exh__nav{
  display:flex; flex-wrap:wrap; gap:var(--space-3);
  margin:var(--space-4) 0 0; padding:var(--space-3) 0 0;
  border-block-start:1px solid var(--rule); list-style:none;
  font-family:var(--font-apparatus); font-size:var(--step-1); font-variation-settings:normal;
}
.exh__nav a,
.exh__nav [aria-current="page"]{
  display:inline-flex; align-items:center; min-block-size:24px;
  color:var(--ink); text-decoration:none; padding-block-end:.2em;
  border-block-end:1px solid var(--rule);
}
.exh__nav a:hover{ border-block-end-color:var(--ink-mute); }
.exh__nav a:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.exh__nav [aria-current="page"]{ font-weight:var(--wght-meta); border-block-end:2px solid var(--ink); }

.grid{ margin-block-start:var(--space-5); }
.grid .row{ display:flex; gap:var(--shot-gap); margin-block-end:var(--space-5); }
.grid .row:last-child{ margin-block-end:0; }
.js .grid:not(.ready){ visibility:hidden; }
.shot{ min-inline-size:0; margin:0; }
.shot a{ display:block; color:inherit; outline-offset:3px; }
.shot a:focus-visible{ outline:2px solid var(--accent); }
.shot img{
  display:block; inline-size:100%; block-size:auto;
  max-inline-size:min(100%, calc(var(--w) * 1px));
  outline:1px solid var(--rule-strong); outline-offset:-1px;
}
.shot a:hover img{ outline-color:var(--ink-mute); }
.shot a:active img{ outline-color:var(--ink); }
.shot__cap{
  display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  margin-block-start:var(--space-2);
  font-family:var(--font-apparatus); font-size:var(--step-1);
  font-variation-settings:normal; line-height:var(--lh-meta); color:var(--ink-mute);
}
.shot__cap a{ display:inline; color:inherit; text-decoration:underline; text-underline-offset:.16em; }
.shot__details[hidden]{ display:none; }
.exhibition__copy,
.exhibition__authors{ max-width:var(--measure-text); margin-block-start:var(--space-6); }
.exhibition__copy > * + *{ margin-block-start:var(--space-4); }
.exhibition__authors section + section{ margin-block-start:var(--space-6); padding-block-start:var(--space-5); border-block-start:1px solid var(--rule); }
.exhibition__authors h2{ margin:0 0 var(--space-3); font-size:var(--step-4); }
.exhibition__authors h2 a{ color:inherit; text-decoration-thickness:.06em; text-underline-offset:.18em; }
.exhibition__author-bio > *{ max-width:var(--measure-text); }
.exhibition__author-bio > * + *{ margin-block-start:var(--space-4); }
.exhibition__author-bio img{ max-inline-size:100%; block-size:auto; }
.exhibition__author-empty{ color:var(--ink-mute); font-style:italic; }
.exhibition__author-link{
  margin-block-start:var(--space-4);
  font-family:var(--font-apparatus); font-size:var(--step-1); font-variation-settings:normal;
}
.exhibition__author-link a{ color:inherit; text-underline-offset:.18em; }

/* Fullscreen: тёмная музейная комната, где интерфейс уступает место кадру. */
body.lightbox-open{ overflow:hidden; }
.lightbox{
  inline-size:100%; max-inline-size:none; block-size:100dvh; max-block-size:none;
  margin:0; padding:0; border:0; overflow:hidden;
  color:var(--bg); background:var(--ink);
  --lb-rule:color-mix(in srgb, var(--bg) 22%, transparent);
}
.lightbox::backdrop{ background:var(--ink); }
.lightbox__shell{
  block-size:100dvh; display:grid; grid-template-rows:auto minmax(0,1fr) auto;
  padding:var(--space-3) var(--space-4) var(--space-4);
}
.lightbox__head{
  position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center; gap:var(--space-4); padding-block-end:var(--space-3);
  border-block-end:1px solid var(--lb-rule);
  font-family:var(--font-apparatus); font-size:var(--step-1); font-variation-settings:normal;
  transition:opacity 240ms ease-out;
}
.lightbox__title{ margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lightbox__counter{ margin:0; justify-self:end; color:color-mix(in srgb, var(--bg) 66%, transparent); font-variant-numeric:tabular-nums; }
.lightbox button{
  min-block-size:var(--tap-min); border:1px solid color-mix(in srgb, var(--bg) 38%, transparent);
  padding:.55em .9em; color:inherit; background:transparent; font:inherit; cursor:pointer;
  transition:border-color 160ms ease-out, color 160ms ease-out;
}
.lightbox button:hover{ border-color:var(--bg); }
.lightbox button:focus-visible{ outline:2px solid var(--bg); outline-offset:3px; }
.lightbox button:disabled{ opacity:.3; cursor:default; border-color:color-mix(in srgb, var(--bg) 18%, transparent); }
.lightbox__close{ justify-self:end; }
.lightbox__stage{
  min-block-size:0; display:grid; grid-template-columns:var(--space-8) minmax(0,1fr) var(--space-8);
  align-items:stretch; gap:var(--space-4); padding-block:var(--space-4);
}
/* wpautop treats the dialog's bare navigation buttons as paragraph text.
   display:contents restores the intended three direct grid items. */
.lightbox__stage > p{ display:contents; }
.lightbox__side{
  inline-size:var(--space-8); block-size:var(--space-8); align-self:center;
  display:grid; place-items:center; padding:0!important; border:0!important;
}
.lightbox__side svg{ inline-size:var(--space-6); block-size:var(--space-6); }
.lightbox__figure{
  min-inline-size:0; min-block-size:0; block-size:100%; margin:0;
  display:grid; grid-template-rows:minmax(0,1fr) auto auto; justify-items:center; gap:var(--space-3);
}
.lightbox__viewport{
  position:relative; inline-size:100%; min-block-size:0; block-size:100%;
  display:grid; place-items:center; overflow:hidden; touch-action:none;
}
.lightbox__viewport.is-zoomable{ cursor:zoom-in; }
.lightbox__viewport.is-zoomed{ cursor:grab; }
.lightbox__viewport.is-panning{ cursor:grabbing; }
.lightbox__image{
  display:block; margin:0; background:var(--ink);
  transform-origin:center center; will-change:transform;
  user-select:none; -webkit-user-select:none; -webkit-user-drag:none;
}
.lightbox__loading{
  position:absolute; inset-block-end:var(--space-3); inset-inline:0; margin:0;
  text-align:center; font-family:var(--font-apparatus); font-size:var(--step-1);
  font-variation-settings:normal; color:color-mix(in srgb, var(--bg) 60%, transparent);
  opacity:0; transition:opacity 160ms ease-out; pointer-events:none;
}
.lightbox__viewport.is-loading .lightbox__loading{ opacity:1; }
.lightbox__caption{
  inline-size:min(100%, var(--measure-text)); margin:0;
  font-family:var(--font-apparatus); font-size:var(--step-2); font-variation-settings:normal;
  line-height:var(--lh-deck); color:color-mix(in srgb, var(--bg) 82%, transparent);
  overflow-wrap:anywhere; transition:opacity 240ms ease-out;
}
.lightbox__caption .ph-photo-caption{ display:block; color:var(--bg); }
.lightbox__caption .ph-photo-author-name{ display:block; margin-block-start:var(--space-1); }
.lightbox__caption .ph-photo-text{
  display:block; margin-block-start:var(--space-3); color:var(--bg);
  font-family:var(--font-text); font-size:var(--step-2); font-variation-settings:"opsz" var(--opsz-body);
  line-height:var(--lh-body);
}
.lightbox__caption a{ color:inherit; text-underline-offset:.18em; }
.lightbox__note{
  inline-size:min(100%, var(--measure-text)); margin:0; color:color-mix(in srgb, var(--bg) 66%, transparent);
  font-family:var(--font-apparatus); font-size:var(--step-1); font-variation-settings:normal;
  transition:opacity 240ms ease-out;
}
.lightbox__foot{ display:grid; gap:var(--space-3); transition:opacity 240ms ease-out; }
.lightbox__controls{
  display:flex; justify-content:center; gap:var(--space-2); padding-block-start:var(--space-3);
  border-block-start:1px solid var(--lb-rule);
  font-family:var(--font-apparatus); font-size:var(--step-1); font-variation-settings:normal;
}
.lightbox__zoom[aria-pressed="true"]{ border-color:var(--bg); }
.lightbox__hint{
  margin:0; text-align:center; font-family:var(--font-apparatus); font-size:var(--step-1);
  font-variation-settings:normal; color:color-mix(in srgb, var(--bg) 52%, transparent);
}
.lightbox__hint[hidden]{ display:none; }
.lightbox__thumbs{
  display:flex; gap:var(--space-2); overflow-x:auto;
  scrollbar-color:var(--bg) color-mix(in srgb, var(--bg) 16%, transparent);
}
.lightbox__thumbs[hidden]{ display:none; }
.lightbox__thumbs button{ flex:0 0 auto; inline-size:5rem; block-size:4rem; padding:var(--space-1); }
.lightbox__thumbs button[aria-current="true"]{ outline:2px solid var(--bg); outline-offset:-4px; }
.lightbox__thumbs img{ inline-size:100%; block-size:100%; object-fit:contain; }
/* Пока читатель рассматривает деталь, комната гаснет и уступает кадру. */
.lightbox.is-inspect .lightbox__head,
.lightbox.is-inspect .lightbox__caption,
.lightbox.is-inspect .lightbox__note,
.lightbox.is-inspect .lightbox__foot{ opacity:.26; }
.lightbox.is-inspect .lightbox__head:focus-within,
.lightbox.is-inspect .lightbox__foot:focus-within{ opacity:1; }

@media (min-width:520px){
  .exh__meta{ flex-flow:wrap; gap:0 .1em; }
  .exh__meta > * + ::before{ content:"·"; color:var(--rule-strong); margin-inline:.55em; }
}
@media (max-width:519px){
  .exh__meta{ flex-flow:wrap; flex-direction:row; gap:0 .1em; }
  .exh__meta > *:not(:last-child)::after{ content:"·"; color:var(--rule-strong); margin-inline:.55em; }
}
@media (max-width:700px){
  .lightbox__shell{ padding:var(--space-2) var(--space-3) var(--space-3); }
  .lightbox__head{ grid-template-columns:minmax(0,1fr) auto; gap:var(--space-2) var(--space-3); }
  .lightbox__counter{ grid-column:1; grid-row:2; justify-self:start; }
  .lightbox__close{ grid-column:2; grid-row:1 / span 2; }
  .lightbox__stage{ grid-template-columns:minmax(0,1fr); padding-block:var(--space-3); }
  .lightbox__side{ display:none; }
  .lightbox__controls{ justify-content:stretch; flex-wrap:wrap; }
  .lightbox__controls button{ flex:1 1 40%; padding-inline:var(--space-1); }
}
@media (pointer:coarse){
  .exh__nav a,
  .exh__nav [aria-current="page"]{ min-block-size:var(--tap-min); }
}
@media (prefers-reduced-motion:no-preference){
  .lightbox[open]{ animation:lightbox-fade 240ms cubic-bezier(.22,1,.36,1); }
  .lightbox[open] .lightbox__shell{ animation:lightbox-rise 300ms cubic-bezier(.22,1,.36,1); }
  .lightbox__image{ transition:opacity 220ms ease-out; }
}
@keyframes lightbox-fade{ from{ opacity:0; } to{ opacity:1; } }
@keyframes lightbox-rise{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
@media print{
  .exh__nav{ display:none; }
  .grid .row{ break-inside:avoid; }
  .lightbox{ display:none; }
}
