:root {
	--plist-item-height: calc((100vw - 2 * var(--page-h-padding)) / 5 + 2px);
    --nav-btn-height: 40px;
    --extra-photo-font-size: calc(var(--plist-item-height) / 2);
    --double-padding: 30px;
    --photo-show-limit: 5;
    --nav-btn-color: #fff;
    --plate-back-color: var(--grey-vlight-color);
    --nav-thumb-height: calc(1.2 * var(--page-h-padding));
}

.product-blocks__first {
	height: calc(100vh - var(--header-height));
}

.product-about-plate {
    padding: 0px 30px 30px;
    background-color: var(--plate-back-color);
    position: relative;
    top: calc(-1 * var(--page-h-padding));
    margin-bottom: -15px;
}


.product-about-plate.narrow {
    width: calc(var(--plist-item-height) * 3 - 2 * var(--page-h-padding) - 15px);
    margin-left: var(--page-h-padding);
}

.product-about-plate .header-wrapper {
    height: var(--page-h-padding);
    margin-bottom: 10px;
}

.product-blocks__descript .ruslit {
    padding-left: 15px;
    padding-bottom: 1px;
}

.description-parts.left-part.hide-narrow {
	display: none;
}

.product-blocks__gallery-wrapper.row {
	margin-left: -7.5px;
	margin-right: -8.5px;
	margin-top: 7.5px;
}

.gallery-item {
    height: var(--plist-item-height);
    aspect-ratio: 1/1;
    padding: 7.5px;
}

.gallery-item:first-child {
    height: calc(var(--plist-item-height) * 2);
    aspect-ratio: 3 / 2;
}

.product-blocks__gallery-wrapper .gallery-item:nth-of-type(n + 6) {
    display: none;
}

.product-blocks__gallery-wrapper .gallery-item:nth-of-type(n + 5) .extraPhotos {
    display: block;
}

.gallery-item .extraPhotos {
    display: none;
    margin: auto;
    opacity: .7;
    color: #fff;
    font-size: var(--extra-photo-font-size);
}

.double-thumb-wide {
	width: calc(2 * var(--plist-item-height) + 30px);
}

/***************************************************/
#gallery-show-slider {
    height: 100%;
}

#gallery-show-slider .swiper-slide { height: 100%; }
#gallery-show-slider .swiper-slide img { height: 100%; margin: auto; display: block; }

#photo-slider-modal {
    padding: var(--page-h-padding) var(--page-h-padding) calc(var(--page-h-padding) * 1.5);
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(255,255,255,.9);
    z-index: 100;
    width: 100%;
}

.close-photo-modal {
    position: absolute;
    right: var(--page-h-padding);
    top: var(--page-h-padding);
    z-index: 50;
    cursor: pointer;
}

.close-photo-modal .svgIcon {
    height: calc(var(--page-h-padding) / 3);
    width: calc(var(--page-h-padding) / 2);
    fill: var(--grey-social-color);
}

.photo-slider-btn {
    z-index: 50;
    top: 50%;
    position: absolute;
    left: calc(var(--page-h-padding) / 2);
    padding: calc(var(--page-h-padding) / 2);
    transform: translateY(-50%);
}

.photo-slider-btn-next {
    left: auto;
    right: calc(var(--page-h-padding) / 2);
}

.photo-slider-btn .svgIcon {
    height: var(--nav-btn-height);
    width: calc(var(--page-h-padding) / 2);
    fill: var(--grey-social-color);
}

.nav-svg-wrapper { height: var(--nav-btn-height)}

.gal-nav-btn {
    top: 50%;
    transform: translateY(-50%);
    left: var(--page-h-padding);
    color: var(--nav-btn-color);
    fill: var(--nav-btn-color);
    opacity: .7;
}

a.gal-nav-btn:hover, a.gal-nav-btn:visited { color: var(--nav-btn-color); }

.gal-nav-btn:hover { opacity: 1; }

.gal-nav-btn.nav-next {
    left: auto;
    right: var(--page-h-padding);
}

.gal-nav-btn .svgIcon {
    width: calc(var(--nav-btn-height) * .5);
    height: var(--nav-btn-height);
}

.gp-nav-block,
.gallery-preview-navigation {
    /*height: calc(2 * var(--double-padding) + var(--nav-btn-height));
    margin-top: -7.5px;*/
    height: var(--nav-thumb-height);
    margin-top: -4px;
    /*margin-bottom: calc(var(--page-h-padding) - var(--double-padding) - 7.5px);*/
    margin-bottom: calc(var(--page-h-padding) - 4px);
}

.gp-nav-thumb {
    height: var(--nav-thumb-height);
    aspect-ratio: 16 / 9;
}

.gp-nav-thumb.left { margin-right: 15px; }
.gp-nav-thumb.right { margin-left: 15px; }

.go-back-btn {
    width: calc(var(--plist-item-height) - 15px);;
    height: var(--nav-btn-height);
    line-height: var(--nav-btn-height);
}

.gp-nav-block .svgIcon {
    width: calc(var(--nav-btn-height) * .5);
    height: var(--nav-btn-height);
}

.social-grey { color: var(--grey-social-color); fill: var(--grey-social-color); }

.flex.text-center { justify-content: center; }


.gallery-title-wrapper {
    padding-right: 15px;
    padding-bottom: 15px;
}


/********************************************/

@media (min-width: 1281px) {
	.description-parts { width: 50%; }

	.description-parts.left-part.hide-narrow { display: block; }

    .product-about-plate.narrow { width: calc(var(--plist-item-height) * 4 / 3); }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .double-thumb-wide { width: calc(2 * var(--plist-item-height) + 30px + var(--page-h-padding)); }
}

@media (max-width: 768px) and (min-width: 500px) {
    :root {
        --plist-item-height: calc((100vw - 2 * var(--page-h-padding)) / 2 + 7.5px);

    }

    .product-blocks__first { aspect-ratio: 16 / 9; height: auto; }

    .double-thumb-wide { width: 100%; }

    .product-about-plate { top: 0; /*margin-left: -24px; margin-right: -24px;*/ padding-top: 15px; }

    .product-about-plate p:last-child { margin-bottom: 0; }

    .product-blocks__descript .right-part { padding: 15px 0px; }    

    .product-about-plate.narrow { width: auto; margin-left: 0px; }

    .product-blocks__descript.flex { flex-wrap: wrap; }

    .product-blocks__descript .description-parts { width: 100%; }

    .text-left-sm { text-align: left; }

    .gallery-title-wrapper { padding-top: 30px; padding-left: 15px; padding-bottom: 0; }

    .product-blocks__gallery-wrapper.row { margin-right: -7.5px; }

    .gallery-item:first-child { height: auto; width: 100%; }

    #gallery-show-slider .swiper-slide { display: flex; align-items: center; }
    #gallery-show-slider .swiper-slide img { height: auto; width: 100%; }

    .complects-wrapper .complect-row { margin-bottom: 10px; }
    .complects-wrapper .complect-row p { margin-bottom: 5px; }
}

@media ( max-width: 499px ) {
    :root {
        --plist-item-height: calc((100vw - 2 * var(--page-h-padding)) / 2 + 7.5px);
        --nav-thumb-height: calc(2 * var(--page-h-padding));
    }

    main > div:first-child + div { margin-top: -15px; }

    .product-blocks__first { aspect-ratio: 16 / 9; height: auto; }

    .double-thumb-wide { width: 100%; }

    .product-about-plate { top: 0; /*margin-left: -24px; margin-right: -24px;*/ padding-top: 30px; }

    .product-blocks__descript .right-part { padding: 15px 0px; }    

    .product-about-plate.narrow { width: auto; margin-left: 0; }

    .product-blocks__descript.flex { flex-wrap: wrap; }

    .product-blocks__descript .description-parts { width: 100%; }

    .text-left-sm { text-align: left; }

    .gallery-title-wrapper { padding-top: 15px; padding-left: 15px; padding-bottom: 0; }

    .product-blocks__gallery-wrapper.row { margin-right: -7.5px; }

    .gallery-item:first-child { height: auto; width: 100%; }

    #gallery-show-slider .swiper-slide { display: flex; align-items: center; }
    #gallery-show-slider .swiper-slide img { height: auto; width: 100%; }

    .gallery-preview-navigation { 
        height: calc(2 * var(--nav-thumb-height)); 
        display: flex;
        flex-wrap: wrap;
    }

    .go-back-btn { width: calc(2 * var(--plist-item-height) - 15px); }

    .close-photo-modal .svgIcon { height: calc(var(--page-h-padding)); width: calc(var(--page-h-padding)); }

    #photo-slider-modal { padding: calc(2 * var(--page-h-padding)) var(--page-h-padding) calc(var(--page-h-padding) * 4); }

    .close-photo-modal { z-index: 500; }
}


/*****************  UPDATE 2025-04-10 ******************/

.gallery-list-container-wrap {
    padding: 0 var(--page-h-padding);
    margin: 0 calc(-1* var(--page-h-padding));
    overflow: hidden;
}

.gallery-list-container-wrap .photo-slider-btn-next {
    right: calc(var(--page-h-padding) * -.25);
}

.gallery-list-container-wrap .photo-slider-btn-prev {
    left: calc(var(--page-h-padding) * -.25);
}