/**
 * Фотогалерея: сетка, скругление, zoom, карточка.
 */

/* Превью: Blazy + скругление + zoom */
:is(.view-id-fotogalereya, .view-fotogalereya, .photogallery-list-view) .photogallery-thumb,
:is(.view-id-fotogalereya, .view-fotogalereya) .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery {
    display: block;
    width: 100% !important;
    max-width: 100%;
    min-width: 0 !important;
    aspect-ratio: 1 / 1;
    margin: 0;
    overflow: hidden !important;
    border-radius: var(--r-lg, 30px) !important;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    mask-image: radial-gradient(white, black);
}

:is(.view-id-fotogalereya, .view-fotogalereya, .photogallery-list-view) .photogallery-thumb :is(.field__item, .blazy, .media, .media--blazy, .media-wrapper--blazy, a),
:is(.view-id-fotogalereya, .view-fotogalereya) .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery :is(.field__item, .blazy, .media, .media--blazy, .media-wrapper--blazy, a) {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden !important;
    border-radius: var(--r-lg, 30px) !important;
}

:is(.view-id-fotogalereya, .view-fotogalereya, .photogallery-list-view) .photogallery-thumb .media.media--ratio,
:is(.view-id-fotogalereya, .view-fotogalereya) .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery .media.media--ratio {
    width: 100% !important;
    height: 100% !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
    border-radius: var(--r-lg, 30px) !important;
}

:is(.view-id-fotogalereya, .view-fotogalereya, .photogallery-list-view) .photogallery-thumb .media--ratio :is(.media__element, img, picture),
:is(.view-id-fotogalereya, .view-fotogalereya) .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery .media--ratio :is(.media__element, img, picture) {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
    object-position: center;
    border-radius: var(--r-lg, 30px) !important;
}

:is(.view-id-fotogalereya, .view-fotogalereya, .photogallery-list-view) .photogallery-thumb :is(img, .media__element, .image-style-product-teaser),
:is(.view-id-fotogalereya, .view-fotogalereya) .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery :is(img, .media__element, .image-style-product-teaser) {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
    object-position: center;
    border-radius: var(--r-lg, 30px) !important;
    transition: transform var(--tr-zoom, .5s cubic-bezier(0.22, 1, 0.36, 1));
    transform: translate3d(0, 0, 0) scale(1);
    backface-visibility: hidden;
    transform-origin: center;
}

:is(.view-id-fotogalereya, .view-fotogalereya, .photogallery-list-view) .photogallery-thumb a:is(:hover, :focus-visible) :is(img, .media__element),
:is(.view-id-fotogalereya, .view-fotogalereya) .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery a:is(:hover, :focus-visible) :is(img, .media__element),
:is(.view-id-fotogalereya, .view-fotogalereya, .photogallery-list-view) .photogallery-thumb:is(:hover, :focus-within) :is(img, .media__element),
:is(.view-id-fotogalereya, .view-fotogalereya) .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery:is(:hover, :focus-within) :is(img, .media__element) {
    transform: translate3d(0, 0, 0) scale(var(--zoom-scale, 1.05)) !important;
}

.view-id-fotogalereya .field--name-field-gallery.field[data-blazy],
.view-fotogalereya .field--name-field-gallery.field[data-blazy] {
    min-width: 0 !important;
    width: 100% !important;
}

.view-id-fotogalereya .field--name-field-gallery,
.view-id-fotogalereya .field--name-field-gallery.field__item,
.view-id-fotogalereya .field--name-field-gallery :is(.field__item, .media, .media--blazy, .media--switch, a),
.view-fotogalereya .field--name-field-gallery,
.view-fotogalereya .field--name-field-gallery.field__item,
.view-fotogalereya .field--name-field-gallery :is(.field__item, .media, .media--blazy, .media--switch, a) {
    overflow: hidden !important;
    border-radius: var(--r-lg, 30px) !important;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    mask-image: radial-gradient(white, black);
}

.view-id-fotogalereya .field--name-field-gallery :is(img, .media__element, picture, .media__element),
.view-fotogalereya .field--name-field-gallery :is(img, .media__element, picture, .media__element) {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--r-lg, 30px) !important;
    transition: transform var(--tr-zoom, .5s cubic-bezier(0.22, 1, 0.36, 1));
    transform: translate3d(0, 0, 0) scale(1);
    backface-visibility: hidden;
}

.view-id-fotogalereya .field--name-field-gallery:is(:hover, :focus-within) :is(img, .media__element, picture img),
.view-id-fotogalereya .field--name-field-gallery a:is(:hover, :focus-visible) :is(img, .media__element, picture img),
.view-fotogalereya .field--name-field-gallery:is(:hover, :focus-within) :is(img, .media__element, picture img),
.view-fotogalereya .field--name-field-gallery a:is(:hover, :focus-visible) :is(img, .media__element, picture img) {
    transform: translate3d(0, 0, 0) scale(var(--zoom-scale, 1.05)) !important;
}

/* Листинг: превью field_galereya (Blazy) */
.photogallery-list-view .field--name-field-galereya,
.node--type-photogallery.node--view-mode-teaser .field--name-field-galereya,
:is(.view-id-fotogalereya, .view-fotogalereya) .field--name-field-galereya {
    display: block;
    width: 100%;
    max-width: 270px;
    aspect-ratio: 1 / 1;
    margin: 0;
    overflow: hidden !important;
    border-radius: var(--r-lg, 30px) !important;
}

.photogallery-list-view .field--name-field-galereya :is(.field__item, a, .media, .media--blazy, .media--switch, picture),
.node--type-photogallery.node--view-mode-teaser .field--name-field-galereya :is(.field__item, a, .media, .media--blazy, .media--switch, picture),
:is(.view-id-fotogalereya, .view-fotogalereya) .field--name-field-galereya :is(.field__item, a, .media, .media--blazy, .media--switch, picture) {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden !important;
    border-radius: var(--r-lg, 30px) !important;
}

.photogallery-list-view .field--name-field-galereya :is(img, .media__element),
.node--type-photogallery.node--view-mode-teaser .field--name-field-galereya :is(img, .media__element),
:is(.view-id-fotogalereya, .view-fotogalereya) .field--name-field-galereya :is(img, .media__element) {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
    object-position: center;
    border-radius: var(--r-lg, 30px) !important;
    transition: transform var(--tr-zoom, .5s cubic-bezier(0.22, 1, 0.36, 1));
    transform: translate3d(0, 0, 0) scale(1);
    backface-visibility: hidden;
    transform-origin: center;
}

.photogallery-list-view .field--name-field-galereya :is(a:hover, a:focus-visible) :is(img, .media__element),
.photogallery-list-view .field--name-field-galereya:is(:hover, :focus-within) :is(img, .media__element),
.node--type-photogallery.node--view-mode-teaser .field--name-field-galereya :is(a:hover, a:focus-visible) :is(img, .media__element) {
    transform: translate3d(0, 0, 0) scale(var(--zoom-scale, 1.05)) !important;
}

/* Листинг /photogallery */
:is(body.page-photogallery, body.path-photogallery) :is(.view-id-fotogalereya, .view-fotogalereya, .photogallery-list-view) .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery,
:is(body.page-photogallery, body.path-photogallery) .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery {
    aspect-ratio: 1 / 1;
    overflow: hidden !important;
    border-radius: var(--r-lg, 30px) !important;
}

:is(body.page-photogallery, body.path-photogallery) :is(.view-id-fotogalereya, .view-fotogalereya) .field--name-field-gallery :is(.field__item, .media, .media--blazy, .media--switch, .blazy, a, picture),
:is(body.page-photogallery, body.path-photogallery) .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery :is(.field__item, .media, .media--blazy, .media--switch, .blazy, a, picture) {
    overflow: hidden !important;
    border-radius: var(--r-lg, 30px) !important;
}

:is(body.page-photogallery, body.path-photogallery) :is(.view-id-fotogalereya, .view-fotogalereya) .field--name-field-gallery :is(img, .media__element, picture img),
:is(body.page-photogallery, body.path-photogallery) .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery :is(img, .media__element, picture img) {
    display: block;
    width: 100% !important;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: var(--r-lg, 30px) !important;
    transition: transform var(--tr-zoom, .5s cubic-bezier(0.22, 1, 0.36, 1));
    transform: translate3d(0, 0, 0) scale(1);
    backface-visibility: hidden;
    transform-origin: center;
}

:is(body.page-photogallery, body.path-photogallery) :is(.view-id-fotogalereya, .view-fotogalereya) .field--name-field-gallery:is(:hover, :focus-within) :is(img, .media__element, picture img),
:is(body.page-photogallery, body.path-photogallery) :is(.view-id-fotogalereya, .view-fotogalereya) .field--name-field-gallery a:is(:hover, :focus-visible) :is(img, .media__element, picture img),
:is(body.page-photogallery, body.path-photogallery) .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery:is(:hover, :focus-within) :is(img, .media__element, picture img),
:is(body.page-photogallery, body.path-photogallery) .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery a:is(:hover, :focus-visible) :is(img, .media__element, picture img) {
    transform: translate3d(0, 0, 0) scale(var(--zoom-scale, 1.05)) !important;
}

.view-id-fotogalereya .field--name-node-title,
.view-fotogalereya .field--name-node-title {
    margin-top: 10px;
    text-align: left !important;
}

.view-id-fotogalereya .field--name-node-title :is(a, .photogallery-card__title-link),
.view-fotogalereya .field--name-node-title :is(a, .photogallery-card__title-link),
.photogallery-card__caption:is(a, .photogallery-card__title-link) {
    display: inline;
    font: inherit;
    color: var(--c-text) !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: color var(--tr);
}

.view-id-fotogalereya .field--name-node-title :is(a, .photogallery-card__title-link):hover,
.view-id-fotogalereya .field--name-node-title :is(a, .photogallery-card__title-link):focus-visible,
.view-fotogalereya .field--name-node-title :is(a, .photogallery-card__title-link):hover,
.view-fotogalereya .field--name-node-title :is(a, .photogallery-card__title-link):focus-visible,
.photogallery-card__caption:is(a, .photogallery-card__title-link):hover,
.photogallery-card__caption:is(a, .photogallery-card__title-link):focus-visible {
    color: var(--c-accent) !important;
    text-decoration: underline !important;
}

:is(body.page-photogallery, body.path-photogallery) .wr_content .container :is(h1, .page-title, #block-vesta-theme-page-title h1) {
    margin: 0 0 clamp(28px, 3.5vw, 40px);
}
:is(body.page-photogallery, body.path-photogallery) .wr_content .container :is(#block-vesta-theme-page-title, .block-page-title-block) {
    margin-bottom: 0;
}
:is(body.page-photogallery, body.path-photogallery) .wr_content .container > :is(.view, [class*="block-views-blockfotogalereya"]) {
    margin-top: 0;
}

:is(body.page-photogallery, body.path-photogallery) .view .view-content,
:is(.view-id-fotogalereya, .photogallery-list-view, .view-fotogalereya, .wrapper_gallery .view) > .view-content {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    row-gap: clamp(24px, 3vw, 38px);
    column-gap: 30px;
    align-items: stretch;
}

:is(body.page-photogallery, body.path-photogallery) .view .views-row,
:is(.view-id-fotogalereya, .photogallery-list-view, .view-fotogalereya, .wrapper_gallery .view) .views-row {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    margin: 0;
    width: auto !important;
    max-width: none !important;
}

:is(body.page-photogallery, body.path-photogallery) .view .views-row > .node--type-photogallery,
:is(.view-id-fotogalereya, .photogallery-list-view, .view-fotogalereya, .wrapper_gallery .view) .views-row > .node--type-photogallery.node--view-mode-teaser {
    flex: 1;
}

.node--type-photogallery.node--view-mode-teaser {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0;
    box-sizing: border-box;
}

.node--type-photogallery.node--view-mode-teaser::before,
.node--type-photogallery.node--view-mode-teaser::after {
    display: none !important;
    content: none !important;
}

.node--type-photogallery.node--view-mode-teaser:has(.photogallery-card__inner) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: 100%;
}

.node--type-photogallery.node--view-mode-teaser:not(:has(.photogallery-card__inner)) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
        "pg-image"
        "pg-title"
        "pg-link" !important;
    gap: 10px 0;
    height: 100%;
}

.photogallery-card__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
        "pg-image"
        "pg-title"
        "pg-link" !important;
    flex: 1;
    gap: 10px 0;
    width: 100%;
    min-height: 0;
    height: 100%;
    box-sizing: border-box;
}

.node--type-photogallery.node--view-mode-teaser > :is(.field--name-field-gallery, .field--name-node-title, .field--name-node-link),
.photogallery-card__inner > * {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
}

.node--type-photogallery.node--view-mode-teaser .field--name-field-gallery,
.photogallery-card__image {
    grid-area: pg-image;
}

.node--type-photogallery.node--view-mode-teaser .field--name-node-title,
.photogallery-card__caption {
    grid-area: pg-title;
}

.node--type-photogallery.node--view-mode-teaser .field--name-node-link {
    grid-area: pg-link;
    margin-top: auto;
    padding-top: 8px;
    text-align: left;
}

.photogallery-card__more {
    grid-area: pg-link;
    justify-self: start;
    margin-top: 8px;
}

.node--type-photogallery.node--view-mode-teaser .field--name-field-gallery,
.photogallery-card__image {
    aspect-ratio: 1 / 1;
    margin: 0;
    overflow: hidden !important;
    border-radius: var(--r-lg, 30px) !important;
    background: var(--c-bg-soft);
}

.node--type-photogallery.node--view-mode-teaser .field--name-field-gallery :is(.field__item, .media, .blazy, .media--blazy),
.photogallery-card__image :is(.field, .field__item, .media, .blazy, .media--blazy) {
    overflow: hidden !important;
    border-radius: var(--r-lg, 30px) !important;
}

.node--type-photogallery.node--view-mode-teaser .field--name-field-gallery a {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    font-size: inherit;
    font-weight: inherit;
    line-height: normal;
    color: inherit !important;
    background: transparent !important;
    border: none !important;
    border-radius: var(--r-lg, 30px) !important;
    overflow: hidden !important;
    box-shadow: none;
    text-decoration: none !important;
}

.node--type-photogallery.node--view-mode-teaser .field--name-field-gallery a:hover,
.node--type-photogallery.node--view-mode-teaser .field--name-field-gallery a:focus-visible {
    color: inherit !important;
    background: transparent !important;
}

.node--type-photogallery.node--view-mode-teaser .field--name-field-gallery :is(.field__item, .media, .blazy, .media--blazy),
.photogallery-card__image :is(.field, .field__item, .media, .blazy, .media--blazy) {
    width: 100%;
    height: 100%;
    margin: 0;
    min-width: 0 !important;
}

.node--type-photogallery.node--view-mode-teaser .field--name-field-gallery :is(img, .media__element, picture img),
.photogallery-card__image :is(img, .media__element, picture img) {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: var(--r-lg, 30px) !important;
    transition: transform var(--tr-zoom, .5s cubic-bezier(0.22, 1, 0.36, 1));
    transform: translate3d(0, 0, 0) scale(1);
    backface-visibility: hidden;
    transform-origin: center;
}

.node--type-photogallery.node--view-mode-teaser :is(.field--name-field-gallery, .photogallery-card__image):is(:hover, :focus-within) :is(img, .media__element, picture img),
.node--type-photogallery.node--view-mode-teaser .field--name-field-gallery a:is(:hover, :focus-visible) :is(img, .media__element, picture img),
.photogallery-card__image:is(:hover, :focus-within) :is(img, .media__element, picture img) {
    transform: translate3d(0, 0, 0) scale(var(--zoom-scale, 1.05)) !important;
}

@media (prefers-reduced-motion: reduce) {
    .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery :is(img, .media__element),
    .photogallery-card__image :is(img, .media__element) {
        transition: none;
    }
    .node--type-photogallery.node--view-mode-teaser :is(.field--name-field-gallery, .photogallery-card__image):is(:hover, :focus-within) :is(img, .media__element),
    .node--type-photogallery.node--view-mode-teaser .field--name-field-gallery a:is(:hover, :focus-visible) :is(img, .media__element) {
        transform: none;
    }
}

.node--type-photogallery.node--view-mode-teaser .field--name-node-title,
.photogallery-card__caption {
    margin: 0;
    margin-top: 10px;
    font-family: var(--ff-base);
    font-weight: 500;
    font-size: 22px;
    line-height: 1.25;
    text-align: left;
    color: var(--c-text);
}

.node--type-photogallery.node--view-mode-teaser .field--name-node-title :is(h2, h3) {
    margin: 0;
    font: inherit;
}

:is(body.page-photogallery, body.path-photogallery) .node--type-photogallery.node--view-mode-teaser .field--name-node-link a,
:is(body.page-photogallery, body.path-photogallery) .node--type-photogallery.node--view-mode-teaser .field--name-node-link a:visited,
.node--type-photogallery.node--view-mode-teaser .field--name-node-link a,
.node--type-photogallery.node--view-mode-teaser .field--name-node-link a:visited,
.photogallery-card__more,
.photogallery-card__more:visited {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 175px;
    min-height: var(--btn-h);
    padding: 12px 24px;
    font-family: var(--ff-base);
    font-weight: 700;
    font-size: 16px;
    line-height: 21px;
    text-align: center;
    text-decoration: none !important;
    color: var(--c-bg) !important;
    background: var(--c-accent) !important;
    border: none;
    border-radius: var(--r-md);
    cursor: pointer;
    transition: background var(--tr), color var(--tr);
}

:is(body.page-photogallery, body.path-photogallery) .node--type-photogallery.node--view-mode-teaser .field--name-node-link a:hover,
:is(body.page-photogallery, body.path-photogallery) .node--type-photogallery.node--view-mode-teaser .field--name-node-link a:focus-visible,
.node--type-photogallery.node--view-mode-teaser .field--name-node-link a:hover,
.node--type-photogallery.node--view-mode-teaser .field--name-node-link a:focus-visible,
.photogallery-card__more:hover,
.photogallery-card__more:focus-visible {
    color: var(--c-bg) !important;
    background: var(--c-accent-hover) !important;
    text-decoration: none !important;
}

@media (max-width: 1199px) {
    :is(body.page-photogallery, body.path-photogallery) .view .view-content,
    :is(.view-id-fotogalereya, .photogallery-list-view, .view-fotogalereya, .wrapper_gallery .view) > .view-content {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    :is(body.page-photogallery, body.path-photogallery) .view .view-content,
    :is(.view-id-fotogalereya, .photogallery-list-view, .view-fotogalereya, .wrapper_gallery .view) > .view-content {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        column-gap: clamp(16px, 2.5vw, 24px);
    }
}

@media (max-width: 991px) {
    .node--type-photogallery.node--view-mode-teaser .field--name-node-title,
    .photogallery-card__caption {
        font-size: 20px;
    }
}

@media (max-width: 767px) {
    :is(body.page-photogallery, body.path-photogallery) .view .view-content,
    :is(.view-id-fotogalereya, .photogallery-list-view, .view-fotogalereya, .wrapper_gallery .view) > .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        row-gap: 16px;
        column-gap: 12px;
    }
    :is(body.page-photogallery, body.path-photogallery) .node--type-photogallery.node--view-mode-teaser .field--name-node-link a,
    .node--type-photogallery.node--view-mode-teaser .field--name-node-link a,
    .photogallery-card__more {
        min-width: 0;
        width: 100%;
        max-width: 100%;
        padding-inline: 12px;
        font-size: 14px;
    }
    .node--type-photogallery.node--view-mode-teaser .field--name-node-title,
    .photogallery-card__caption {
        font-size: 18px;
    }
}

/* Альбом /photogallery/*: отступ шапка → H1 */
:is(body.page-photogallery-album, body.page-node-type-photogallery) #main > .wr_content {
    padding-top: clamp(1.25rem, 3vw, 2.5rem);
}

:is(body.page-photogallery-album, body.page-node-type-photogallery) .wr_content .container :is(h1, .page-title, #block-vesta-theme-page-title h1) {
    margin: 0 0 clamp(28px, 3.5vw, 40px);
}

:is(body.page-photogallery-album, body.page-node-type-photogallery) .wr_content .container :is(#block-vesta-theme-page-title, .block-page-title-block) {
    margin-bottom: 0;
}

:is(body.page-photogallery-album, body.page-node-type-photogallery) .wr_content .container > :is(.node--type-photogallery:not(.node--view-mode-teaser), .block-system-main-block) {
    margin-top: 0;
}

/* Альбом: /photogallery/* */
.node--type-photogallery:not(.node--view-mode-teaser) .photoswipe-gallery.field--name-field-galereya.field__items,
:is(body.page-node-type-photogallery, body.page-photogallery-album) :is(
    .field--name-field-galereya.field__items,
    .field--name-field-gallery > .field__items,
    .field--name-field-gallery.field__items,
    .view-id-gallery-page .views-photo-grid-container,
    .photoswipe-gallery.views-photo-grid-container
) {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(24px, 3vw, 30px);
    width: 100%;
    height: auto !important;
    position: relative;
}

.node--type-photogallery:not(.node--view-mode-teaser) .field--name-field-galereya.field__items > .field__item,
:is(body.page-node-type-photogallery, body.page-photogallery-album) :is(
    .field--name-field-galereya.field__items > .field__item,
    .field--name-field-gallery > .field__items > .field__item,
    .views-photo-grid-item
) {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    min-width: 0;
    overflow: hidden !important;
    border-radius: var(--r-lg, 30px) !important;
}

.node--type-photogallery:not(.node--view-mode-teaser) .field--name-field-galereya .field__item > a,
:is(body.page-node-type-photogallery, body.page-photogallery-album) :is(
    .field--name-field-galereya,
    .field--name-field-gallery
) :is(.field__item > a, .field__item a.photoswipe, .views-photo-grid-item a) {
    display: block;
    overflow: hidden !important;
    border-radius: var(--r-lg, 30px) !important;
}

.node--type-photogallery:not(.node--view-mode-teaser) .field--name-field-galereya :is(img, .image-style-galereya),
:is(body.page-node-type-photogallery, body.page-photogallery-album) :is(
    .field--name-field-galereya,
    .field--name-field-gallery,
    .views-photo-grid-container
) :is(img, .image-style-galereya) {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    border-radius: var(--r-lg, 30px) !important;
    transition: transform var(--tr-zoom, .5s cubic-bezier(0.22, 1, 0.36, 1));
    transform: translate3d(0, 0, 0) scale(1);
    backface-visibility: hidden;
}

.node--type-photogallery:not(.node--view-mode-teaser) .field--name-field-galereya .field__item > a:is(:hover, :focus-visible) img,
:is(body.page-node-type-photogallery, body.page-photogallery-album) :is(
    .field--name-field-galereya,
    .field--name-field-gallery
) :is(.field__item > a:hover, .field__item > a:focus-visible) img,
:is(body.page-node-type-photogallery, body.page-photogallery-album) .views-photo-grid-item :is(a:hover, a:focus-visible) img {
    transform: translate3d(0, 0, 0) scale(var(--zoom-scale, 1.05)) !important;
}

@media (max-width: 1199px) {
    .node--type-photogallery:not(.node--view-mode-teaser) .field--name-field-galereya.field__items,
    :is(body.page-node-type-photogallery, body.page-photogallery-album) :is(
        .field--name-field-galereya.field__items,
        .field--name-field-gallery > .field__items,
        .view-id-gallery-page .views-photo-grid-container
    ) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 991px) {
    .node--type-photogallery:not(.node--view-mode-teaser) .field--name-field-galereya.field__items,
    :is(body.page-node-type-photogallery, body.page-photogallery-album) :is(
        .field--name-field-galereya.field__items,
        .field--name-field-gallery > .field__items,
        .view-id-gallery-page .views-photo-grid-container
    ) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: clamp(12px, 2.5vw, 20px);
    }
}

/* Альбом /photogallery/*: мобилка — не больше 2 в ряд */
@media (max-width: 767px) {
    :is(body.page-photogallery-album, body.page-node-type-photogallery) :is(
        .field--name-field-galereya.field__items,
        .photoswipe-gallery.field--name-field-galereya.field__items,
        .view-id-gallery-page .views-photo-grid-container
    ) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px;
    }
    :is(body.page-photogallery-album, body.page-node-type-photogallery) .field--name-field-galereya.field__items {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 575px) {
    :is(body.page-photogallery-album, body.page-node-type-photogallery) :is(
        .field--name-field-galereya.field__items,
        .photoswipe-gallery.field--name-field-galereya.field__items
    ) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 10px;
        row-gap: 12px;
    }
}

/* Альбом: Blazy + мобилка 2 в ряд */
body.page-photogallery-album .field--name-field-galereya.field[data-blazy],
body.page-node-type-photogallery .node--type-photogallery:not(.node--view-mode-teaser) .field--name-field-galereya.field[data-blazy] {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
}

@media (max-width: 991px) {
    body.page-photogallery-album .node--type-photogallery:not(.node--view-mode-teaser) :is(
        .field--name-field-galereya.field__items,
        .photoswipe-gallery.field--name-field-galereya.field__items,
        .field--name-field-galereya.photoswipe-gallery
    ),
    body.page-node-type-photogallery .node--type-photogallery:not(.node--view-mode-teaser) :is(
        .field--name-field-galereya.field__items,
        .photoswipe-gallery.field--name-field-galereya.field__items
    ) {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: clamp(10px, 2.5vw, 16px) !important;
        width: 100% !important;
        max-width: none !important;
    }

    body.page-photogallery-album .field--name-field-galereya.field__items > .field__item,
    body.page-node-type-photogallery .field--name-field-galereya.field__items > .field__item {
        float: none !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
    }
}
