/* dkoles.com photo albums - scoped module design, 2026-11-08 */
body.dk-photo-page { color-scheme: light; }
.dk-photo-content { padding:clamp(20px,3vw,32px)!important; }
.dk-photo-intro { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid var(--border); }
.dk-photo-intro h1,.dk-photo-heading,.dk-photo-page .photo-etitle { margin:0 0 12px; font-size:clamp(28px,3vw,40px); line-height:1.2; font-weight:700; color:var(--text); text-wrap:balance; }
.dk-photo-intro p { max-width:60ch; margin:0; color:var(--text-soft); font-size:16px; line-height:1.65; text-wrap:pretty; }
.dk-photo-total { flex:0 0 auto; display:grid; gap:4px; padding:16px 24px; border-left:1px solid var(--border); color:var(--text-soft); font-size:14px; }
.dk-photo-total strong { font-size:36px; line-height:1.1; color:var(--link); }
.dk-photo-albums { margin-bottom:24px; }
.dk-photo-albums .catsTable,.dk-photo-albums .u-cat-columns { flex-direction:row!important; flex-wrap:wrap!important; gap:12px!important; }
.dk-photo-albums .catsTd { border-radius:6px!important; background:var(--surface-soft); min-height:44px!important; }
.dk-photo-albums .catName { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px!important; color:var(--text-soft); font-size:15px; font-weight:500; white-space:normal; }
.dk-photo-albums .catNumData { display:inline-flex; align-items:center; padding:10px 12px; border-left:1px solid var(--border); color:var(--text-soft); font-size:14px; }
.dk-photo-albums .catsTd:hover { border-color:var(--link)!important; background:var(--surface-blue); }
.dk-photo-admin { display:flex; justify-content:flex-end; margin:0 0 20px; }
.dk-photo-page .dk-photo-grid #allEntries { display:block!important; }
.dk-photo-page .dk-photo-grid #uEntriesList { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:24px!important; width:100%!important; padding:0!important; margin:0!important; list-style:none!important; }
.dk-photo-page .dk-photo-grid .uEntryWrap { display:block!important; float:none!important; width:auto!important; min-width:0; margin:0!important; padding:0!important; }
.dk-photo-page .dk-photo-grid .entryBlock { width:100%!important; margin:0!important; }
.dk-photo-card { height:100%; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.dk-photo-preview { position:relative; display:block; overflow:hidden; background:var(--surface-soft); aspect-ratio:4/3; color:var(--text); }
.dk-photo-preview img { display:block; width:100%!important; height:100%!important; object-fit:contain; margin:0!important; padding:0!important; border:0!important; }
.dk-photo-preview-label { position:absolute; right:12px; bottom:12px; padding:6px 10px; border:1px solid var(--border); border-radius:6px; background:var(--surface); color:var(--text-soft); font-size:13px; font-weight:500; }
.dk-photo-preview:hover .dk-photo-preview-label { color:var(--link); border-color:var(--link); }
.dk-photo-card-copy { display:flex; flex-direction:column; align-items:flex-start; flex:1; gap:8px; padding:16px; }
.dk-photo-album-link { display:inline-flex; align-items:center; min-height:32px; color:var(--text-soft); font-size:14px; }
.dk-photo-card h2 { margin:0; font-size:18px; line-height:1.4; overflow-wrap:anywhere; }
.dk-photo-card h2 a { display:inline-flex; align-items:center; min-height:44px; color:var(--text); }
.dk-photo-detail-link { display:inline-flex; align-items:center; min-height:44px; margin-top:auto; font-size:14px; text-decoration:underline; text-underline-offset:3px; }
.dk-photo-moder { width:100%; min-height:32px; position:relative; }
.dk-photo-page .breadcrumbs-wrapper { margin:0 0 16px; }
.dk-photo-page .breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:14px; color:var(--text-soft); }
.dk-photo-page .breadcrumb-item { display:inline-flex; align-items:center; min-height:44px; }
.dk-photo-page .items-stat-wrapper { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; margin:12px 0 20px; color:var(--text-soft); font-size:14px; }
.dk-photo-page hr { margin:24px 0; border:0; border-top:1px solid var(--border); }
.dk-photo-page .photo-edescr,.dk-photo-description { margin:16px 0 24px; color:var(--text-soft); font-size:16px; line-height:1.65; overflow-wrap:anywhere; }
.dk-photo-page #u-photos .photo-block { display:block; width:100%; max-width:100%; padding:0; border:0; box-shadow:none; background:transparent; }
.dk-photo-page #u-photos .ph-wrap { width:100%!important; height:auto!important; background:var(--surface-soft); border:1px solid var(--border); border-radius:var(--radius); padding:16px; }
.dk-photo-page #u-photos .photo-expand { display:flex; flex-direction:column; align-items:center; }
.dk-photo-page #u-photos .photo-expand>img { display:block; max-height:75vh; width:auto!important; height:auto!important; max-width:100%!important; object-fit:contain; margin:auto; }
.dk-photo-page #u-photos .dd-tip { position:static!important; display:inline-flex!important; align-items:center; flex-wrap:wrap; justify-content:center; gap:8px; min-height:44px; padding:12px 16px; margin-top:16px; background:var(--surface)!important; color:var(--link)!important; border:1px solid var(--border); border-radius:6px; font-size:14px; opacity:1!important; }
.dk-photo-page .photo-edetails,.dk-photo-page .photo-edetails2 { margin:16px 0; color:var(--text-soft); font-size:14px; }
.dk-photo-page .uphoto-entry { margin-bottom:24px; }
.dk-photo-page .photo-slider { overflow:auto; max-width:100%; }
/* Native photo pagination matches the site's article navigation. */
.dk-photo-page .items-stat-wrapper { align-items:center; }
.dk-photo-page :is(.paging-wrapper-top,.paging-wrapper-bottom) { display:flex; align-items:center; flex-wrap:wrap; justify-content:center; gap:8px; margin:0; color:var(--text-soft); font:600 14px/1.4 'DM Sans',Arial,sans-serif; }
.dk-photo-page .paging-wrapper-top { margin-left:auto; }
.dk-photo-page .paging-wrapper-bottom { margin:24px 0; }
.dk-photo-page :is(.paging-wrapper-top,.paging-wrapper-bottom) :is(.pagesBlockuz1,.pagesBlockuz2) { display:contents!important; }
.dk-photo-page .paging-wrapper-bottom::before { content:"Страницы"; display:inline-flex; align-items:center; min-height:44px; margin-right:4px; white-space:nowrap; }
.dk-photo-page :is(.paging-wrapper-top,.paging-wrapper-bottom) :is(a,b) { box-sizing:border-box; display:inline-flex!important; align-items:center; justify-content:center; min-width:44px; min-height:44px; margin:0!important; padding:8px 12px!important; border:1px solid var(--border-strong)!important; border-radius:6px!important; background:var(--surface)!important; color:var(--text-soft)!important; font:600 13px/1.2 'DM Sans',Arial,sans-serif!important; text-decoration:none!important; }
.dk-photo-page :is(.paging-wrapper-top,.paging-wrapper-bottom) :is(a,b)>span { display:block; margin:0!important; padding:0!important; border:0!important; background:none!important; color:inherit!important; font:inherit!important; }
.dk-photo-page :is(.paging-wrapper-top,.paging-wrapper-bottom) a:hover { border-color:var(--link)!important; background:var(--surface-blue)!important; color:var(--link-hover)!important; }
.dk-photo-page :is(.paging-wrapper-top,.paging-wrapper-bottom) :is(.swchItemA,.swchItemA1) { border-color:var(--link)!important; background:var(--link)!important; color:var(--surface)!important; }
.dk-photo-page :is(.paging-wrapper-top,.paging-wrapper-bottom) a:focus-visible { outline:3px solid var(--link); outline-offset:3px; }
@media(max-width:600px) { .dk-photo-page .paging-wrapper-top { margin-left:0; } }

.dk-photo-page :is(a,button,input,select,textarea):focus-visible { outline:3px solid var(--link); outline-offset:3px; }
.dk-photo-page :is(input[type=text],input[type=password],textarea,select) { max-width:100%; min-height:44px; font:inherit; border:1px solid var(--border-strong); border-radius:6px; background:var(--surface); color:var(--text); padding:10px 12px; }
.dk-photo-page :is(button,input[type=submit],input[type=button],.btn-link) { min-height:44px; }
.dk-photo-page .form-fields { max-width:100%; padding:0; list-style:none; }
.dk-photo-page .form-fields input[type=file] { max-width:100%; }
.dk-photo-page .form-fields textarea { width:100%; }
.dk-photo-page .form-fields li { max-width:100%; overflow-wrap:anywhere; }
.dk-photo-page .f-button.is-close-btn,.dk-photo-page .fancybox__container .f-button { min-width:44px; min-height:44px; background:#111827!important; color:#fff!important; border:1px solid #fff!important; }
@media(max-width:900px) { .dk-photo-page .dk-photo-grid #uEntriesList { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:20px!important; } }
@media(max-width:600px) {
 .dk-photo-intro { flex-direction:column; align-items:flex-start; gap:16px; }
 .dk-photo-total { display:flex; align-items:baseline; gap:12px; padding:0; border:0; }
 .dk-photo-total strong { font-size:28px; }
 .dk-photo-page .dk-photo-grid #uEntriesList { grid-template-columns:minmax(0,1fr)!important; gap:20px!important; }
 .dk-photo-albums .u-cat-columns { display:flex!important; flex-direction:column!important; }
 .dk-photo-albums .catsTd { width:100%!important; }
 .dk-photo-albums .catName { flex:1; }
 .dk-photo-page .photo-etitle { font-size:28px; }
 .dk-photo-page #u-photos .ph-wrap { padding:8px; }
}
@media(prefers-reduced-motion:reduce) { body.dk-photo-page { scroll-behavior:auto; } .dk-photo-page * { transition:none!important; animation:none!important; } }

/* Album navigation uses short labels; descriptions remain on album pages. */
.dk-photo-albums .catsTd { width:auto!important; flex:0 1 auto!important; }
.dk-photo-albums .catName { flex:0 1 auto!important; width:auto!important; max-width:none!important; }
.dk-photo-albums .catNumData { flex:0 0 auto; }

/* The add-photo action follows album cards on all viewport sizes. */
.dk-photo-toolbar { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:12px; margin:0 0 24px; }
.dk-photo-page .dk-photo-toolbar .dk-photo-albums { flex:1 1 auto; min-width:0; width:100%; margin:0; }
.dk-photo-page .dk-photo-toolbar .dk-photo-admin { flex:0 0 auto; order:0; align-self:flex-start; justify-content:flex-start; margin:0; }

/* Compact cards and smaller album heading. */
.dk-photo-preview { aspect-ratio:16/10; }
.dk-photo-card-copy { position:relative; gap:0; padding:10px 12px; }
.dk-photo-album-name { color:var(--text-soft); font-size:13px; line-height:1.4; }
.dk-photo-card h2 { width:100%; padding-right:36px; font-size:16px; }
.dk-photo-card h2 a { min-height:44px; }
.dk-photo-moder { position:absolute; right:8px; bottom:10px; width:32px; min-height:28px; }
.dk-photo-page .dk-photo-album-heading { font-size:24px; margin:0 0 16px; }
/* One information block below the photo on its own page. */
.dk-photo-stage { display:flex; justify-content:center; align-items:center; padding:16px; background:var(--surface-soft); border:1px solid var(--border); border-radius:var(--radius) var(--radius) 0 0; }
.dk-photo-stage>a { display:flex; justify-content:center; width:100%; }
.dk-photo-stage img { display:block; max-width:100%!important; max-height:65vh; width:auto!important; height:auto!important; object-fit:contain; margin:0 auto; }
.dk-photo-information { padding:16px; margin:0 0 24px; border:1px solid var(--border); border-top:0; border-radius:0 0 var(--radius) var(--radius); background:var(--surface); }
.dk-photo-information .dk-photo-description { margin:0 0 12px; font-size:15px; line-height:1.6; }
.dk-photo-facts { display:flex; flex-wrap:wrap; gap:8px 24px; margin:0; }
.dk-photo-facts>div { display:flex; flex-wrap:wrap; gap:4px 8px; align-items:baseline; }
.dk-photo-facts dt { color:var(--text-soft); font-size:13px; }
.dk-photo-facts dd { margin:0; color:var(--text); font-size:14px; }
.dk-photo-information .btn-link { margin-top:12px; }
.dk-photo-manage { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:12px; }
.dk-photo-page .dk-photo-detail .photo-etitle { margin:0 0 20px; text-align:left; font-size:26px; }
/* Keep the native Fancybox controls beside the active photograph. */
.dk-photo-page .fancybox__slide { padding:72px 64px 24px!important; }
.dk-photo-page .fancybox__toolbar { position:fixed!important; right:auto!important; bottom:auto!important; min-height:46px; padding:0!important; gap:8px; opacity:1!important; visibility:visible!important; background:transparent!important; }
.dk-photo-page .fancybox__toolbar__column.is-right { display:flex; gap:4px; }
.dk-photo-page .fancybox__toolbar .fancybox__infobar { padding:10px 0; font-size:14px; color:#fff; }
.dk-photo-page .fancybox__nav .f-button { position:fixed!important; right:auto!important; bottom:auto!important; transform:none!important; min-width:44px; min-height:44px; opacity:1!important; visibility:visible!important; }
.dk-photo-page .fancybox__caption { width:100%; max-width:780px; padding:12px 0 0!important; color:#fff; }
.dk-viewer-info { max-height:24vh; overflow:auto; padding:12px 16px; background:#172338; border:1px solid #506078; border-radius:6px; color:#fff; font:14px/1.5 'DM Sans',Arial,sans-serif; text-align:left; }
.dk-viewer-info h2 { margin:0 0 6px; color:#fff; font-size:17px; line-height:1.4; }
.dk-viewer-info p { margin:0 0 10px; overflow-wrap:anywhere; white-space:pre-line; }
.dk-viewer-info dl { display:flex; flex-wrap:wrap; gap:6px 20px; margin:0; }
.dk-viewer-info dl>div { display:flex; flex-wrap:wrap; gap:6px; }
.dk-viewer-info dt { color:#c8d4e7; }
.dk-viewer-info dd { margin:0; color:#fff; }
@media(max-width:600px) {
 .dk-photo-page .fancybox__slide { padding:72px 12px 16px!important; }
 .dk-photo-page .fancybox__toolbar { gap:0; }
 .dk-photo-page .fancybox__toolbar__column.is-right { gap:0; }
 .dk-photo-page .fancybox__toolbar .f-button { min-width:44px; width:44px; padding:8px; }
 .dk-photo-page .fancybox__toolbar .fancybox__infobar { font-size:12px; }
 .dk-viewer-info { padding:10px 12px; font-size:13px; max-height:30vh; }
 .dk-photo-facts { gap:8px 16px; }
}

/* Photo gallery refresh: compact covers, four-column grid and a small top strip. */
.dk-photo-page .dk-photo-shell .dk-photo-content { padding:0!important; }
.dk-photo-page .dk-photo-toolbar { align-items:stretch; gap:12px; margin-bottom:24px; }
.dk-photo-page .dk-photo-albums { margin-bottom:24px; }
.dk-photo-page .dk-photo-albums .u-cat-columns { display:flex!important; flex-direction:row!important; flex-wrap:wrap!important; gap:12px!important; align-items:stretch!important; }
.dk-photo-page .dk-photo-albums .catsTd.dk-album-card { flex:0 1 224px!important; width:224px!important; min-width:0; padding:0!important; border:1px solid var(--border)!important; border-radius:10px!important; background:var(--surface)!important; overflow:hidden; }
.dk-photo-page .dk-photo-albums .dk-album-link { display:flex!important; flex:1 1 auto!important; align-items:center; gap:12px; width:100%!important; min-height:84px; padding:10px!important; color:var(--text)!important; text-decoration:none; }
.dk-album-cover { display:flex; flex:0 0 64px; align-items:center; justify-content:center; width:64px; height:64px; margin:0; border-radius:6px; object-fit:cover; background:var(--surface-blue); color:var(--link); font-size:28px; }
.dk-album-copy { display:flex; flex-direction:column; gap:5px; min-width:0; }
.dk-album-title { font-size:15px; font-weight:600; line-height:1.35; overflow-wrap:break-word; }
.dk-album-count { color:var(--text-soft); font-size:13px; line-height:1.35; }
.dk-photo-page .dk-photo-albums .catNumData[hidden] { display:none!important; }
.dk-photo-page .dk-photo-albums .catsTd.is-active { border-color:var(--link)!important; box-shadow:inset 0 0 0 1px var(--link); background:var(--surface-blue)!important; }
.dk-photo-page .dk-photo-albums .catsTd:hover { border-color:var(--link)!important; }
.dk-photo-page .dk-photo-albums .dk-album-link:focus-visible { outline:3px solid var(--link); outline-offset:-4px; border-radius:8px; }
.dk-photo-page .dk-photo-grid #uEntriesList { grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:20px 16px!important; }
.dk-photo-page .dk-photo-card { border:0; border-radius:0; background:transparent; overflow:visible; }
.dk-photo-page .dk-photo-preview { aspect-ratio:4/3; border-radius:10px; border:1px solid var(--border); }
.dk-photo-page .dk-photo-preview img { object-fit:cover; }
.dk-photo-preview::after { content:""; position:absolute; inset:0; background:rgba(17,24,39,.14); opacity:0; pointer-events:none; }
.dk-photo-preview-label { z-index:1; right:8px; bottom:8px; display:inline-flex; align-items:center; min-height:36px; opacity:0; transform:translateY(4px); }
.dk-photo-preview:hover::after,.dk-photo-preview:focus-visible::after { opacity:1; }
.dk-photo-preview:hover .dk-photo-preview-label,.dk-photo-preview:focus-visible .dk-photo-preview-label { opacity:1; transform:none; }
.dk-photo-page .dk-photo-card-copy { gap:0; padding:6px 40px 0 0; }
.dk-photo-page .dk-photo-card h2 { order:1; padding:0; font-size:16px; font-weight:600; }
.dk-photo-page .dk-photo-card h2 a { display:flex; min-height:44px; line-height:1.4; color:var(--text); }
.dk-photo-page .dk-photo-album-name { order:2; font-size:13px; color:var(--text-soft); }
.dk-photo-page .dk-photo-moder { right:0; top:10px; bottom:auto; width:36px; min-height:36px; }
.dk-photo-page .dk-photo-album-heading { margin:0 0 20px; font-size:24px; }
.dk-photo-page .items-stat-wrapper { margin:0 0 16px; }
.dk-photo-page .dk-photo-description { font-size:15px; line-height:1.65; }
/* Native three-image switching remains intact; only its dimensions change. */
.dk-photo-page .dk-photo-detail .photo-slider { width:100%; max-width:480px; margin:0 auto 24px; overflow:hidden; }
.dk-photo-page .dk-photo-detail #phtOtherThumbs { width:100%; margin:0; }
.dk-photo-page #phtOtherThumbs table { width:100%; table-layout:fixed; }
.dk-photo-page #phtOtherThumbs td:first-child,.dk-photo-page #phtOtherThumbs td:last-child { width:44px; }
.dk-photo-page #phtOtherThumbs #oldPhotos { width:auto!important; }
.dk-photo-page #phtOtherThumbs .animate-wrap { display:block; width:100%; font-size:0; }
.dk-photo-page #phtOtherThumbs .animate-wrap>a { width:33.333%!important; height:86px; padding:3px; vertical-align:middle; }
.dk-photo-page .dk-photo-detail #phtOtherThumbs .ph-wrap { display:block!important; width:100%!important; height:80px!important; margin:0!important; padding:3px!important; border:1px solid transparent!important; border-radius:8px!important; background:transparent!important; overflow:hidden; }
.dk-photo-page #phtOtherThumbs .ph-tc { display:block!important; width:100%!important; height:100%!important; }
.dk-photo-page #phtOtherThumbs img { display:block; width:100%!important; height:72px!important; object-fit:contain; border-radius:4px; }
.dk-photo-page .dk-photo-detail #phtOtherThumbs .photoActiveA .ph-wrap { border-color:var(--link)!important; background:var(--surface-blue)!important; box-shadow:inset 0 0 0 1px var(--link); }
.dk-photo-page #phtOtherThumbs .otherPhotoA img { opacity:.76; filter:none; }
.dk-photo-page #phtOtherThumbs .otherPhotoA:hover img,.dk-photo-page #phtOtherThumbs .otherPhotoA:focus-visible img { opacity:1; }
.dk-photo-page #leftSwch,.dk-photo-page #rightSwch { position:relative; display:block; width:44px; height:48px; border:1px solid var(--border); border-radius:8px; background:var(--surface)!important; }
.dk-photo-page #leftSwch::before,.dk-photo-page #rightSwch::before { content:""; position:absolute; top:0; left:10px; width:22px; height:46px; background:transparent url('/.s/img/photopage/photo-arrows.png') no-repeat; filter:brightness(.4); }
.dk-photo-page #rightSwch::before { background-position:-22px 0; }
.dk-photo-page #leftSwch:hover,.dk-photo-page #rightSwch:hover { border-color:var(--link); }
/* A photograph-sized stage and one calm information panel underneath. */
.dk-photo-page .dk-photo-detail .photo-etitle { max-width:760px; margin:0 auto 20px; font-size:24px; text-align:center; }
.dk-photo-page .dk-photo-stage { width:fit-content; max-width:100%; margin:0 auto; padding:0; border:0; border-radius:10px; background:transparent; overflow:hidden; }
.dk-photo-page .dk-photo-stage>a { width:auto; max-width:100%; }
.dk-photo-page .dk-photo-stage img { max-height:68vh; border-radius:10px; }
.dk-photo-page .dk-photo-information { width:min(100%,760px); margin:20px auto 0; padding:20px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.dk-photo-page .dk-photo-information .dk-photo-description { margin:0 0 16px; }
.dk-photo-page .dk-photo-facts { gap:12px 24px; }
.dk-photo-page .dk-photo-facts>div { display:grid; gap:3px; }
.dk-photo-page .dk-photo-facts dt { font-size:12px; }
.dk-photo-page .dk-photo-facts dd { font-size:14px; font-weight:500; }
.dk-photo-page .dk-photo-information .dk-photo-full-link { margin-top:16px; border-color:var(--border-strong); background:var(--surface-blue); color:var(--link); }
.dk-photo-page .dk-photo-manage { padding-top:12px; border-top:1px solid var(--border); }
/* The viewer reuses the site's native controls, with a consistent finish. */
.dk-photo-page .fancybox__backdrop { background:#101827; opacity:.96; }
.dk-photo-page .fancybox__container .f-button { border-color:#64748b!important; border-radius:8px; background:#172338!important; }
.dk-photo-page .fancybox__nav .f-button { border-radius:50%; }
.dk-photo-page .fancybox__container .f-button:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.dk-photo-page .dk-viewer-info { border-radius:10px; }
@media(prefers-reduced-motion:no-preference) {
 .dk-photo-preview::after,.dk-photo-preview-label { transition:opacity .15s ease,transform .15s ease; }
}
@media(hover:hover) and (pointer:fine) {
 .dk-photo-card .dk-photo-moder { opacity:0; }
 .dk-photo-card:hover .dk-photo-moder,.dk-photo-card:focus-within .dk-photo-moder { opacity:1; }
}
@media(hover:none) { .dk-photo-preview-label { opacity:1; transform:none; } }
@media(max-width:1000px) { .dk-photo-page .dk-photo-grid #uEntriesList { grid-template-columns:repeat(2,minmax(0,1fr))!important; } }
@media(max-width:600px) {
 .dk-photo-page .dk-photo-toolbar { align-items:stretch; }
 .dk-photo-page .dk-photo-albums .u-cat-columns { flex-direction:row!important; flex-wrap:wrap!important; gap:8px!important; }
 .dk-photo-page .dk-photo-albums .catsTd.dk-album-card { flex:1 1 0!important; width:auto!important; }
 .dk-photo-page .dk-photo-albums .dk-album-link { gap:8px; min-height:76px; padding:8px!important; }
 .dk-album-cover { flex-basis:48px; width:48px; height:56px; }
 .dk-album-title { font-size:14px; }
 .dk-album-count { font-size:12px; }
 .dk-photo-page .dk-photo-grid #uEntriesList { grid-template-columns:minmax(0,1fr)!important; gap:20px!important; }
 .dk-photo-page .dk-photo-detail .photo-slider { margin-bottom:20px; }
 .dk-photo-page #phtOtherThumbs .animate-wrap>a { height:78px; }
 .dk-photo-page .dk-photo-detail #phtOtherThumbs .ph-wrap { height:72px!important; padding:2px!important; }
 .dk-photo-page #phtOtherThumbs img { height:66px!important; }
 .dk-photo-page .dk-photo-information { margin-top:16px; padding:16px; }
 .dk-photo-page .dk-photo-stage img { max-height:62vh; }
}
@media(max-width:360px) {
 .dk-photo-page .dk-photo-albums .dk-album-link { flex-direction:column; align-items:flex-start; gap:6px; }
 .dk-album-cover { width:100%; height:48px; flex-basis:auto; }
 .dk-album-copy { gap:3px; }
 .dk-photo-page .dk-photo-facts>div { flex:1 1 40%; }
}

/* The image and its caption form one clear, compact card. */
.dk-photo-page .dk-photo-card { border:1px solid var(--border-strong); border-radius:10px; background:var(--surface); overflow:visible; }
.dk-photo-page .dk-photo-preview { border:0; border-radius:9px 9px 0 0; }
.dk-photo-page .dk-photo-card-copy { padding:8px 44px 12px 12px; }
.dk-photo-page .dk-photo-moder { right:6px; top:10px; }

/* Heroicons chevrons replace the legacy raster sprite and white button blocks. */
.dk-photo-page #leftSwch,.dk-photo-page #rightSwch { height:44px; border-color:transparent; border-radius:50%; background:transparent!important; }
.dk-photo-page #leftSwch::before,.dk-photo-page #rightSwch::before { top:0; left:0; width:44px; height:44px; filter:none; background:var(--link)!important; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22black%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15.75%2019.5%208.25%2012l7.5-7.5%22%2F%3E%3C%2Fsvg%3E") center/24px 24px no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22black%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15.75%2019.5%208.25%2012l7.5-7.5%22%2F%3E%3C%2Fsvg%3E") center/24px 24px no-repeat; }
.dk-photo-page #rightSwch::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22black%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m8.25%204.5%207.5%207.5-7.5%207.5%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22black%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m8.25%204.5%207.5%207.5-7.5%207.5%22%2F%3E%3C%2Fsvg%3E"); }
.dk-photo-page #leftSwch:hover,.dk-photo-page #rightSwch:hover { background:var(--surface-blue)!important; border-color:transparent; }

/* Direct previous/next photo links beside the main image. */
.dk-photo-page .dk-photo-stage { position:relative; overflow:visible; }
.dk-photo-page .dk-photo-stage>.dk-photo-step { position:absolute; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; min-height:44px; border-radius:50%; color:var(--link); background:transparent; }
.dk-photo-step.is-prev { left:-56px; }
.dk-photo-step.is-next { right:-56px; }
.dk-photo-step::before { content:""; width:28px; height:28px; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22black%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15.75%2019.5%208.25%2012l7.5-7.5%22%2F%3E%3C%2Fsvg%3E") center/28px 28px no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22black%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M15.75%2019.5%208.25%2012l7.5-7.5%22%2F%3E%3C%2Fsvg%3E") center/28px 28px no-repeat; }
.dk-photo-step.is-next::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22black%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m8.25%204.5%207.5%207.5-7.5%207.5%22%2F%3E%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22black%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m8.25%204.5%207.5%207.5-7.5%207.5%22%2F%3E%3C%2Fsvg%3E"); }
.dk-photo-page .dk-photo-step:hover { background:var(--surface-blue); }
@media(max-width:760px) {
 .dk-photo-step.is-prev { left:8px; }
 .dk-photo-step.is-next { right:8px; }
 .dk-photo-page .dk-photo-stage>.dk-photo-step { color:#fff; background:rgba(17,24,39,.82); border:1px solid rgba(255,255,255,.65); }
 .dk-photo-page .dk-photo-step:hover { background:#172338; }
}

/* uCoz compact mode must retain the requested visible previous/next controls. */
.dk-photo-page .fancybox__container.is-compact .fancybox__nav { display:block!important; }
.dk-photo-page .fancybox__container.is-compact .fancybox__nav .f-button { width:44px; height:44px; min-width:44px; min-height:44px; pointer-events:auto; }

/* Size album tiles by their labels; never split a word across lines. */
.dk-photo-page .dk-photo-albums .catsTd.dk-album-card { flex:0 0 auto!important; width:max-content!important; min-width:224px; max-width:100%!important; }
.dk-photo-page .dk-photo-albums .dk-album-title { overflow-wrap:normal; word-break:normal; hyphens:none; }
.dk-photo-page .dk-photo-albums .dk-album-copy { max-width:100%; overflow-x:auto; }
@media(max-width:600px) {
 .dk-photo-page .dk-photo-albums .catsTd.dk-album-card { min-width:180px; }
 .dk-photo-page .dk-photo-albums .dk-album-link { flex-direction:row; align-items:center; }
 .dk-photo-page .dk-photo-albums .dk-album-cover { flex:0 0 48px; width:48px; height:56px; }
}

/* Keep long, unspaced photo titles inside their own cards. */
.dk-photo-page .dk-photo-card-copy { min-width:0; }
.dk-photo-page .dk-photo-card h2 { min-width:0; max-width:100%; }
.dk-photo-page .dk-photo-card h2 a { display:block; width:100%; max-width:100%; min-width:0; white-space:normal; overflow-wrap:anywhere; word-break:normal; align-content:center; }

/* Album title and authorized add action form one consistent header row. */
.dk-photo-page .dk-photo-heading-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 16px; width:100%; margin:0 0 20px; }
.dk-photo-page .dk-photo-heading-row>:is(h1,h2) { margin:0; font-size:24px; line-height:1.3; }
.dk-photo-page .dk-photo-heading-row .dk-photo-admin { display:flex; flex:0 0 auto; align-items:center; justify-content:flex-end; margin:0; }
.dk-photo-page .items-stat-wrapper { display:none!important; }
.dk-photo-page .items-stat-wrapper+hr { display:none; }
@media(max-width:600px) { .dk-photo-page .dk-photo-heading-row { align-items:center; } }

/* Scroll in this order: photograph, native thumbnails, complete photo information. */
.dk-photo-page .fancybox__container.dk-viewer-scroll { display:flex; flex-direction:column; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; }
.dk-photo-page .dk-viewer-scroll .fancybox__backdrop { position:fixed; inset:0; }
.dk-photo-page .dk-viewer-scroll .fancybox__carousel { order:1; flex:0 0 var(--dk-photo-stage-height,calc(100vh - 112px)); height:var(--dk-photo-stage-height,calc(100vh - 112px)); min-height:0; }
@supports(height:100dvh) { .dk-photo-page .dk-viewer-scroll .fancybox__carousel { flex-basis:var(--dk-photo-stage-height,calc(100dvh - 112px)); height:var(--dk-photo-stage-height,calc(100dvh - 112px)); } }
.dk-photo-page .dk-viewer-scroll .fancybox__slide { padding-bottom:16px!important; justify-content:flex-start!important; }
.dk-photo-page .dk-viewer-scroll .fancybox__footer { order:2; position:relative; flex:0 0 auto; }
.dk-photo-page .dk-viewer-scroll .fancybox__thumbs { position:relative; margin:0; }
.dk-photo-page .dk-viewer-details { order:3; flex:0 0 auto; width:min(780px,calc(100% - 24px)); margin:12px auto 28px; }
.dk-photo-page .dk-viewer-details .dk-viewer-info { max-height:none; overflow:visible; }
@media(max-width:600px) { .dk-photo-page .dk-viewer-details { margin-bottom:20px; } }

/* A bordered photo counter also explains keyboard navigation. */
.dk-photo-page .dk-viewer-scroll .fancybox__toolbar .fancybox__infobar { display:flex; align-items:center; gap:10px; padding:8px 12px; min-height:44px; box-sizing:border-box; border:1px solid #64748b; border-radius:8px; background:#172338; white-space:nowrap; }
.dk-photo-page .dk-viewer-scroll .fancybox__infobar::before { content:"Листайте клавишами ← →"; color:#c8d4e7; font-size:12px; }
@media(max-width:600px) { .dk-photo-page .dk-viewer-scroll .fancybox__toolbar .fancybox__infobar { gap:5px; padding:8px; } .dk-photo-page .dk-viewer-scroll .fancybox__infobar::before { content:"← →"; font-size:14px; } }

.dk-photo-page .dk-viewer-details .dk-viewer-description a { color:#a8d4ff; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.dk-photo-page .dk-viewer-details .dk-viewer-description a:hover { color:#fff; }
.dk-photo-page .dk-viewer-details .dk-viewer-description a:focus-visible { outline:2px solid #fff; outline-offset:3px; }
