/*
    MAIN COMPONENT
*/

.container {
    display: flex;
    position: relative;
    /*width: 1000px;*/
    margin: 0 auto;
}

.background-div-wrapper {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden; /* Обрезаем все, что выходит за пределы */
}

.background-div {
    position: absolute;
    top: -50%;
    left: -50%;
    transform-origin: center; /* Устанавливаем центр для поворота */
    width: 200%;
    height: 200%;
    background-size: cover;
    background-position: center;
}

/*
    PRINT VIEW
 */

/*.side-element-wrapper {*/
/*    position: relative;*/
/*    width: 250px;*/
/*    max-height: 600px;*/
/*    margin-right: 20px;*/
/*    overflow: hidden;*/
/*    border: 0px solid green;*/
/*    border-radius: 8px;*/
/*    !* скругленные углы *!*/
/*}*/

.side-element-wrapper:hover .rulet_h,
.side-element-wrapper:hover .rulet_v,
.side-element-wrapper:hover .buts {
    opacity: 0.8;
}
.buts {
    position: absolute;
    bottom: 0px;
    top: 20px;
    background: white;
    opacity: 0;
    z-index: 100;
    transition: opacity 0.5s ease;
}

.side-element {
    position: absolute;
    top: -150%;
    left: -150%;
    width: 400%;
    height: 400%;
    background-size: auto;
    background-repeat: repeat;
    transform-origin: center;
    transition: opacity 0.5s ease-in-out, background-image 0s;
    z-index: 50;
}
.side-element-wrapper {
    position: relative;

    overflow: hidden;
    border-radius: 8px;
    perspective: 1000px; /* Для 3D эффекта */
}

.side-element-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d;
}

.side-element-front,
.side-element-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
}

.side-element-front {
    background-color: #fff;
}

.side-element-back {
    background-color: #f0f0f0;
    transform: rotateY(180deg);
}

.flipped .side-element-inner {
    transform: rotateY(180deg);
}

.rulet_h {
    position: absolute;
    bottom: 0px;
    left: 0px;
    background: white;
    opacity: 0;
    z-index: 100;
    transition: opacity 0.5s ease;
}

.rulet_v {
    position: absolute;
    bottom: 17px;
    left: 0px;
    background: white;
    opacity: 0;
    z-index: 100;
    transition: opacity 0.5s ease;
}

/*
    PRINT ON MODEL
*/

.savePrintButton {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 100;
    cursor: pointer;

    /* скругленные углы */
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.myPrintFlipper {
    position: absolute;
    top: 80px;
    right: 20px;
    z-index: 200;
    cursor: pointer;

    /* скругленные углы */
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.photo-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    /* скругленные углы */
}

.photo-wrapper:hover .preview-thumbnails,
.photo-wrapper:hover .controls,
.photo-wrapper:hover .savePrintButton,
.photo-wrapper:hover .myPrintFlipper {
    opacity: 1;
}

.big-photo {
    width: 100%;
    height: 100%;
    position: relative;
    transition: opacity 0.5s ease-in-out;
}

.print-layer {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background-size: auto;
    background-repeat: repeat;
    transform-origin: center;
    transition: background-image 0s;
    opacity: 1;
}

.print-layer,
.side-element {
    transition: background-image 0.3s;
}
.controls,
.controls > div > label > span {
    color: rgba(0, 0, 0, 0.62);
    font-size: 14px;
}
.controls {
    position: absolute;
    bottom: 20px;

    /* отступ от нижнего края */
    right: 20px !important;
    /* отступ от левого края */
    z-index: 10;
    background: rgba(255, 255, 255, 0.66);
    /* полупрозрачный фон */
    padding: 10px;

    border-radius: 8px;
    /* скругленные углы */
    opacity: 0;
    transition: opacity 0.5s ease;
}
.preview-thumbnails::-webkit-scrollbar {
    width: 2px; /* ширина вертикальной полосы прокрутки */
    height: 2px; /* высота горизонтальной полосы прокрутки */
}

/* Стили для ползунка (scrollbar thumb) */
.preview-thumbnails::-webkit-scrollbar-thumb {
    background-color: #888; /* цвет ползунка */
    border-radius: 10px; /* скругление углов ползунка */
}

/* Стили для области трека (scrollbar track) */
.preview-thumbnails::-webkit-scrollbar-track {
    background: #f1f1f1; /* цвет трека (заднего плана) */
}
.preview-thumbnails {
    overflow-y: auto;
    scrollbar-width: none; /* Толщина полосы прокрутки */
    scrollbar-color: #888 #f1f1f1;
    position: absolute;
    height: 100%;
    top: 20px;
    left: 20px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 10px;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.preview-thumbnail {
    width: 50px;
    cursor: pointer;
    border-radius: 8px;
    background-color: #f0f0f0;
    /* скругленные углы */
}
.print-layer.new,
.side-element.new {
    animation: slideIn 0.3s forwards;
}

.print-layer.old,
.side-element.old {
    animation: slideOut 0.3s forwards;
}

@keyframes slideIn {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes slideOut {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(100%);
    }
}

.hidden {
    opacity: 1;
}

.visible {
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
}

/*
    PRINT LIST
*/
.thumbnail_controls_wrapper {
    position: relative;
}
.thumbnail_controls {
    position: absolute;
    top: -15px;
    right: -15px;
    z-index: 40;
    display: none;
    /*background: red;*/
    /*padding: 20px;*/
}
.thumbnail_controls_wrapper:hover .thumbnail_controls {
    display: block;
}
.thumbnails-wrapper {
    scrollbar-width: thin; /* Толщина полосы прокрутки */
    scrollbar-color: rgba(0, 0, 0, 0.24) transparent;
    overflow-y: auto;
    /*margin-left: 10px;*/
}

.thumbnails {
    /*flex-direction: column;*/
    /*height: 100%;*/
    /*overflow-y: auto;*/
}

.thumbnail {
    display: inline-block;
    border: 0px solid red;
    /*width: 85px;*/
    cursor: pointer;
    /*margin: 0px 3px 8px;*/
    border-radius: 8px;
    /* скругленные углы */
    transition: transform 0.3s ease;

    /* анимация */
}

.thumbnail:hover {
    transform: scale(0.95);
    /* увеличение при наведении */
}

.thumbnail.active {
    transform: scale(0.95);
    /* увеличение при клике */
    outline: 2px solid red;
}
.flip-container {
    perspective: 1000px;
}

.flipper {
    transition: 0.6s;
    transform-style: preserve-3d;
    position: relative;
}

.flipped .flipper {
    transform: rotateY(180deg);
}

.front,
.back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
}

.back {
    transform: rotateY(180deg);
}
