/* Галерея ДОМАНУМ — базовий вигляд для будь-якого шаблону (Cassiopeia). Шаблон domanum перевизначає токени --dgal-*. */
.dgal{--dgal-gap:10px;--dgal-min:var(--dgal-grid-min,160px);--dgal-radius:var(--dgal-r,12px);--dgal-ratio:4/3;
  --dgal-accent:var(--dgal-acc,#f5c400);--dgal-primary:var(--dgal-pri,#0b3d91);--dgal-text:var(--dgal-t,#15213a);--dgal-muted:var(--dgal-m,#5b6478);
  margin:1.5rem 0;clear:both}
.dgal-title{font-size:1.05rem;font-weight:600;margin:0 0 .6rem;color:var(--dgal-text)}
/* подвійний клас — сильніше за загальні правила шаблону для ul/img у тексті статті */
.dgal .dgal-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--dgal-gap);grid-template-columns:repeat(auto-fill,minmax(var(--dgal-min),1fr))}
.dgal .dgal-grid li{margin:0;padding:0}
.dgal .dgal-grid li::before,.dgal .dgal-grid li::marker{content:none}
.dgal .dgal-grid li.dgal-off{display:none}
.dgal-item{position:relative;display:block;aspect-ratio:var(--dgal-ratio);overflow:hidden;border-radius:var(--dgal-radius);background:#eee8da;
  outline-offset:3px;transition:box-shadow .2s ease;-webkit-tap-highlight-color:transparent}
.dgal .dgal-item img{width:100%;height:100%;max-width:none;object-fit:cover;display:block;border-radius:0;margin:0;transition:transform .35s ease}
.dgal-item:hover img,.dgal-item:focus-visible img{transform:scale(1.04)}
.dgal-item:focus-visible{outline:3px solid var(--dgal-accent)}
.dgal-item:hover{box-shadow:0 8px 20px -10px rgba(21,33,58,.35)}
.dgal-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(11,61,145,.66);color:#fff;font-weight:700;font-size:1.5rem;letter-spacing:.02em}
.dgal-count{margin:.6rem 0 0;font-size:.85rem;color:var(--dgal-muted)}
.dgal-all{appearance:none;display:inline-flex;align-items:center;gap:.5em;min-height:44px;padding:.45em 1em;border:1px solid color-mix(in srgb,var(--dgal-primary) 28%,transparent);
  border-radius:999px;background:transparent;color:var(--dgal-primary);font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
.dgal-all:hover{background:color-mix(in srgb,var(--dgal-primary) 8%,transparent);border-color:var(--dgal-primary)}
.dgal-all:focus-visible{outline:3px solid var(--dgal-accent);outline-offset:2px}
.dgal-all svg{width:18px;height:18px;flex:none}
.dgal-all-n{font-weight:400;color:var(--dgal-muted)}
.dgal-all-n::before{content:"· "}
.dgal-missing{padding:.6rem .9rem;border:1px dashed #c9a400;background:#fff8d6;border-radius:8px;font-size:.9rem;color:#5a4a00}
@media (max-width:600px){
  .dgal{--dgal-gap:6px}
  .dgal .dgal-grid{grid-template-columns:1fr 1fr}
  .dgal.dgal-lead .dgal-grid li:first-child{grid-column:1/-1}
  .dgal.dgal-lead .dgal-grid li:first-child .dgal-item{aspect-ratio:16/10}
  .dgal-all{width:100%;justify-content:center}
}

/* Переглядач (<dialog>) */
html.dgal-lb-lock{overflow:hidden}
html.dgal-lb-lock body{overflow:hidden;overscroll-behavior:none}
.dgal-lb{--dgal-lb-bg:rgb(8 12 24);border:0;padding:0;margin:0;width:100vw;height:100vh;height:100dvh;max-width:100vw;max-height:100vh;max-height:100dvh;
  background:rgb(8 12 24 / calc(var(--dgal-lb-fade,1) * 100%));color:#fff;inset:0;position:fixed;overflow:hidden;overscroll-behavior:contain}
.dgal-lb::backdrop{background:rgba(8,12,24,.9)}
.dgal-lb[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto}
.dgal-lb-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:max(.5rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) .5rem max(1rem,env(safe-area-inset-left));font-size:.95rem;color:#cdd6ea}
.dgal-lb-counter{font-variant-numeric:tabular-nums;font-weight:600}
.dgal-lb-actions{display:flex;gap:.5rem;align-items:center}
.dgal-lb-open{display:inline-flex;align-items:center;gap:.4em;min-height:44px;padding:0 .8rem;border-radius:999px;color:#cdd6ea;font-size:.85rem;text-decoration:none}
.dgal-lb-open svg{width:18px;height:18px}
.dgal-lb-open:hover{color:#fff;background:rgba(255,255,255,.1)}
.dgal-lb-open:focus-visible{outline:3px solid var(--dgal-acc,#f5c400);outline-offset:2px}
.dgal-lb-stage{position:relative;min-height:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.dgal-lb-track{position:absolute;inset:0;will-change:transform}
.dgal-lb-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:8px 72px;overflow:hidden}
.dgal-lb-slide img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5);
  background:#111;-webkit-user-drag:none;user-select:none}
.dgal-lb-slide.can-zoom img{cursor:zoom-in}
.dgal-lb-slide.is-zoom{display:block;overflow:auto;touch-action:pan-x pan-y;padding:0;overscroll-behavior:contain}
.dgal-lb-slide.is-zoom img{max-width:none;max-height:none;height:auto;border-radius:0;cursor:zoom-out;margin:auto}
.dgal-lb-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:#cdd6ea}
.dgal-lb-spin{width:36px;height:36px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;animation:dgal-spin .8s linear infinite}
.dgal-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@keyframes dgal-spin{to{transform:rotate(360deg)}}
.dgal-lb-cap{padding:.5rem 1rem .25rem;text-align:center;font-size:.95rem;color:#e6eefc;max-height:5.5em;overflow:auto}
.dgal-lb-cap[hidden]{display:none}
.dgal-lb button{appearance:none;border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:999px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;padding:0}
.dgal-lb button:hover{background:rgba(255,255,255,.22)}
.dgal-lb button:focus-visible{outline:3px solid var(--dgal-acc,#f5c400);outline-offset:2px}
.dgal-lb button svg{width:22px;height:22px}
.dgal-lb button[hidden]{display:none}
.dgal-lb .dgal-lb-prev,.dgal-lb .dgal-lb-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:48px;
  background:rgba(8,12,24,.55);border:1px solid rgba(255,255,255,.35);box-shadow:0 2px 10px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dgal-lb .dgal-lb-prev:hover,.dgal-lb .dgal-lb-next:hover{background:rgba(8,12,24,.8)}
.dgal-lb-prev{left:12px}.dgal-lb-next{right:12px}
/* стрічка мініатюр */
.dgal-lb-thumbs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:.5rem max(1rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));
  scroll-padding-inline:1rem;justify-content:safe center}
.dgal-lb-thumbs::-webkit-scrollbar{display:none}
.dgal-lb-thumbs[hidden]{display:none}
.dgal-lb .dgal-lb-thumbs button{flex:none;width:64px;height:48px;border-radius:6px;overflow:hidden;background:#222;opacity:.5;outline-offset:1px;transition:opacity .15s,box-shadow .15s}
.dgal-lb .dgal-lb-thumbs button:hover{opacity:.85}
.dgal-lb .dgal-lb-thumbs button[aria-current]{opacity:1;box-shadow:0 0 0 2px var(--dgal-acc,#f5c400)}
.dgal-lb-thumbs img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
/* підказка «гортайте» (один раз за сеанс, сенсорні екрани) */
.dgal-lb-hint{position:absolute;left:50%;bottom:16px;transform:translate(-50%,8px);z-index:3;display:flex;align-items:center;gap:.6em;padding:.55em 1em;border-radius:999px;
  background:rgba(8,12,24,.78);border:1px solid rgba(255,255,255,.25);font-size:.9rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
.dgal-lb-hint.is-on{opacity:1;transform:translate(-50%,0)}
.dgal-lb-hand{width:34px;height:14px;position:relative}
.dgal-lb-hand::before,.dgal-lb-hand::after{content:"";position:absolute;top:50%;height:2px;background:#fff;border-radius:2px}
.dgal-lb-hand::before{left:0;right:0;transform:translateY(-50%);opacity:.5}
.dgal-lb-hand::after{width:10px;height:10px;border-radius:50%;margin-top:-5px;left:0;animation:dgal-hand 1.3s ease-in-out infinite}
@keyframes dgal-hand{0%,100%{left:24px}50%{left:0}}
.dgal-lb-track.is-nudge{animation:dgal-nudge 1.3s ease-in-out .35s 2}
@keyframes dgal-nudge{0%,100%{transform:translateX(0)}40%{transform:translateX(-56px)}}

@media (max-width:640px){
  .dgal-lb-slide{padding:4px}
  .dgal-lb .dgal-lb-prev,.dgal-lb .dgal-lb-next{width:44px;height:44px}
  .dgal-lb-prev{left:6px}.dgal-lb-next{right:6px}
  .dgal-lb-open span{display:none}
  .dgal-lb-open{width:44px;padding:0;justify-content:center;background:rgba(255,255,255,.1)}
  .dgal-lb .dgal-lb-thumbs{justify-content:flex-start}
  .dgal-lb .dgal-lb-thumbs button{width:52px;height:40px}
}
@media (max-height:500px){                      /* телефон горизонтально — більше місця фото */
  .dgal-lb-thumbs{display:none}
  .dgal-lb-cap{display:none}
  .dgal-lb-top{padding-top:.25rem;padding-bottom:.25rem}
}
@media (hover:none){.dgal-item:hover img{transform:none}.dgal-item:hover{box-shadow:none}}
@media (prefers-reduced-motion:reduce){.dgal-item,.dgal-item img,.dgal-lb-hint{transition:none}.dgal-lb-hand::after,.dgal-lb-track.is-nudge{animation:none}}
@media (forced-colors:active){.dgal-lb .dgal-lb-prev,.dgal-lb .dgal-lb-next,.dgal-lb button{border:1px solid ButtonText}}
