.change-page {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 30px;
    a {
        display: flex;
        align-items: center;
        gap: 10px;
        border-radius: 12px;
        border: 1px solid var(--blue);
        padding: 11px 30px 11px 10px;
        color: var(--blue);
        transition: border-color .2s linear, color .2s linear, background-color .2s linear;
        font-size: 18px;
        font-weight: 700;
        &::before {
            content: '\e922';
            font: 100 1.55em/1 icon;
            transform: rotate(90deg);
        }
        &.next {
            flex-direction: row-reverse;
            margin-left: auto;
            padding: 11px 10px 11px 30px;
            &::before {
                transform: rotate(-90deg);
            }
        }
    }
}
.product-box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: 30px;
    margin-bottom: 120px;
    .image-box {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 30px;
        width: 100%;
        user-select: none;
        .modal-slider {
            position: relative;
            overflow: hidden;
            border-radius: 20px;
            width: 100%;
            transition: 0.5s linear;
            :is(.arrow-l, .arrow-r) {
                display: none;
            }
            .close {
                display: none;
            }
            .slides {
                position: relative;
                width: 100%;
                aspect-ratio: 3/4;
                display: grid;
                img {
                    position: absolute;
                    grid-area: 1/1/2/2;
                    left: 0;
                    top: 0;
                    width: 100%;
                    aspect-ratio: inherit;
                    object-fit: contain;
                    transform: translate3d(-100%, 0, 0);
                    transition: transform 0.5s linear;
                    &.active {
                        z-index: 1;
                        transform: translate3d(0, 0, 0);
                        ~ img {
                            transform: translate3d(100%, 0, 0);
                        }
                    }
                    &.hiddenSlide {
                        visibility: hidden;
                    }
                }
            }
        }
        .bubbles-slider {
            position: relative;
            display: grid;
            grid-template-columns: 40px 1fr 40px;
            gap: 15px;
            width: 100%;
            .slides {
                position: relative;
                width: 100%;
                height: 100%;
                display: flex;
                gap: 10px;
                overflow-y: auto;
                scrollbar-width: none;
                scroll-behavior: smooth;
                padding: 2px 1px;
                &::-webkit-scrollbar {
                    display: none;
                }
                img {
                    object-fit: cover;
                    width: 110px;
                    flex-shrink: 0;
                    cursor: pointer;
                    border: 1px solid var(--t);
                    aspect-ratio: 1;
                    border-radius: 16px;
                    &.active {
                        outline: 2px solid var(--orange);
                    }
                }
            }
            .arrow {
                align-self: center;
                &::before {
                    border-radius: 12px;
                    font-size: 28px;
                    color: var(--gree);
                    width: 100%;
                    transition: color .2s linear, background-color .2s linear;
                }
                &[disabled] {
                    pointer-events: none;
                    opacity: .7;
                }
            }
        }
    }
}
.product-info {
    .title + p {
        font-size: 24px;
        margin-top: 6px;
    }
    .heading {
        font-weight: 700;
        margin-bottom: 10px;
    }
    > :is(.top, .bottom) {
        display: contents;
    }
    .params {
        display: flex;
        flex-direction: column;
        margin-bottom: 30px;
        gap: 6px;
        margin-top: 30px;
        .heading {
            margin-bottom: 4px;
        }
        > p {
            display: grid;
            grid-template-columns: auto 1fr auto;
            font-weight: 500;
            span {
                border-bottom: 1px solid var(--brjyrb);
                margin-bottom: 3px;
            }
        }
    }
    .size {
        margin-bottom: 30px;
        .spoiler-box {
            height: 52px;
        }
        .spoiler {
            overflow: hidden;
            border-radius: 11px;
            background: var(--blue);
            padding: 8px 10px;
            z-index: 2;
            &:not(:has(.spoiler-body)) .toggle span {
                display: none;
            }
            * {
                color: var(--white);
            }
            .toggle {
                color: var(--grey-white);
                font-size: 20px;
                font-weight: 600;
                border-radius: inherit;
                span {
                    background-color: inherit;
                    border-radius: 10px;
                    border: 1px solid rgba(228, 228, 228, 0.3);
                    flex: 0 0 36px;
                    &::before {
                        content: '\e922';
                        font: 100 18px/1 icon;
                        width: initial;
                        height: initial;
                        background: none;
                    }
                    &::after {
                        display: none;
                    }
                }
            }
            .spoiler-body {
                padding-bottom: 0;
                border-bottom: none;
                .list {
                    display: flex;
                    flex-direction: column;
                    gap: 16px;
                    a {
                        font-size: 20px;
                        font-weight: 600;
                    }
                }
            }
        }
    }
    .colors {
        .heading b {
            font-size: 20px;
            font-weight: inherit;
            column-rule: inherit;
        }
        .items {
            display: flex;
            align-items: start;
            flex-wrap: wrap;
            gap: 10px;
            > :is(div, a) {
                display: flex;
                flex-shrink: 0;
                width: 56px;
                height: 56px;
                aspect-ratio: 1;
                background: var(--bg-color, #000);
                border-radius: 16px;
                border: 1px solid var(--t);
                padding: 8px;
                &.active {
                    border: 2px solid var(--orange);
                    &::before {
                        content: '\e918';
                        font: 100 16px/1 icon;
                        color: var(--white);
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        background: var(--brjyrb);
                        width: 100%;
                        height: 100%;
                        border-radius: 12px;
                    }
                }
            }
        }
    }
}
.descriptions {
    grid-area: 2/1/3/3;
    .tab-box {
        position: relative;
        z-index: 1;
        display: flex;
        gap: 10px;
        margin: 0 30px -25px;
        overflow-x: auto;
        &::-webkit-scrollbar {
            display: none;
        }
        button {
            font-weight: 600;
            letter-spacing: 0.48px;
            padding: 15px 30px;
            border-radius: 16px;
            white-space: nowrap;
            border: 1px solid var(--brjyrb);
            background-color: var(--grey-white);
            color: var(--grey);
            &.active {
                background-color: var(--blue);
                border-color: var(--blue);
                color: var(--white);
            }
        }
    }
    .bottom {
        position: relative;
        background: var(--white);
        padding: 60px 30px 30px;
        border-radius: 20px;
        display: grid;
        .tab {
            display: none;
            flex-direction: column;
            &.active {
                display: flex;
            }
            .content {
                display: flex;
                flex-direction: column;
                gap: 6px;
                h3 {
                    font-size: 24px;
                    font-weight: 700;
                    letter-spacing: 0.72px;
                }
                span {
                    font-size: inherit;
                    font-weight: inherit;
                }
                strong {
                    font-weight: 700;
                }
            }
            &.specification {
                flex-direction: column;
                gap: 10px;
                .table {
                    width: 100%;
                    * {
                        letter-spacing: 0.16px;
                    }
                    .thead {
                        color: var(--blue);
                        font-weight: 700;
                        letter-spacing: 0.48px;
                        margin-left: 10px;
                        margin-bottom: 4px;
                    }
                    .tbody {
                        display: flex;
                        flex-direction: column;
                        gap: 4px;
                        > div {
                            display: grid;
                            grid-template-columns: 300px 1fr;
                            &:nth-child(odd) {
                                border-radius: 6px;
                                background: var(--white-grey);
                            }
                            p {
                                align-content: center;
                                padding: 10px;
                                &:first-child {
                                    border-radius: 10px 0px 0px 10px;
                                    background: var(--grey-2);
                                }
                                &:last-child {
                                    border-radius: 0 10px 10px 0;
                                    background: var(--grey-white);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    .advantages {
        margin-top: 30px;
        > div:last-child {
            display: none;
        }
    }
}
.right-box {
    grid-area: 1/3/3/4;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 30px;
    .info-box {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
        .info {
            grid-column: 1/-1;
            border-radius: 20px;
            display: flex;
            flex-direction: column;
            align-items: start;
            background: var(--white);
            padding: 30px;
            .code {
                color: var(--t);
                font-size: 14px;
                letter-spacing: 0.42px;
                margin-left: auto;
                width: fit-content;
            }
            .price {
                width: 100%;
                margin-bottom: 20px;
                span {
                    font-size: 34px;
                    + span {
                        font-size: 24px;
                    }
                }
                b {
                    border-radius: 6px;
                    background: var(--blue);
                    padding: 5px 12px;
                    color: var(--white);
                    font-size: 14px;
                    font-weight: 700;
                    margin: auto 0 auto auto;
                    &.not {
                        border-radius: 6px;
                        background: var(--error);
                        color: var(--white);
                    }
                }
            }
            :is(.add-compare, .add-favorites) {
                display: flex;
                align-items: center;
                gap: 10px;
                font-size: 18px;
                font-weight: 700;
                &::before {
                    background-color: var(--grey-white);
                    transition: color .2s linear;
                }
            }
            .add-compare {
                margin-bottom: 10px;
            }
            .add-favorites {
                margin-bottom: 30px;
            }
        }
        .delivery {
            position: relative;
            padding: 20px 30px;
            border-radius: 20px;
            background: var(--white);
            &.active {
                span {
                    color: var(--orange);
                }
                .modal {
                    opacity: 1;
                    visibility: visible;
                }
            }
            span {
                display: flex;
                align-items: center;
                gap: 10px;
                color: inherit;
                font-size: 18px;
                transition: color .2s linear;
                font-weight: 700;
                &::before {
                    content: '\e909';
                    font: 100 32px/1 icon;
                    color: var(--blue);
                    padding: 9px;
                    border-radius: 16px;
                    background-color: var(--grey-white);
                    transition: color .2s linear;
                }
            }
            .modal {
                position: absolute;
                bottom: calc(100% - 20px);
                z-index: 1;
                left: 0;
                padding: inherit;
                border-radius: inherit;
                border: 1px solid var(--brjyrb);
                background: inherit;
                box-shadow: var(--shadow);
                width: min(367px, calc(100vw - 20px));
                opacity: 0;
                visibility: hidden;
                transition: opacity .2s;
                .heading {
                    font-size: 18px;
                    font-weight: 700;
                    margin-bottom: 9px;
                }
                p {
                    font-weight: 500;
                }
            }
            &:last-child {
                span::before {
                    content: '\e905';
                }
                .modal {
                    left: initial;
                    right: 0;
                }
            }
        }
    }
    > form {
        position: sticky;
        top: 20px;
        border-radius: 20px;
        background: var(--blue);
        padding: 50px 15%;
        .head {
            color: var(--white);
            text-align: center;
            font-size: 24px;
            font-weight: 700;
            letter-spacing: 0.72px;
            margin-bottom: 6px;
            + p {
                color: var(--brjyrb);
                text-align: center;
                font-weight: 500;
                letter-spacing: 0.48px;
                margin-bottom: 20px;
            }
        }
        label:not(.check) {
            display: flex;
            flex-direction: column;
            gap: 4px;
            font-size: 14px;
            font-weight: 400;
            letter-spacing: 0.42px;
            margin-bottom: 10px;
            padding-left: 10px;
            color: var(--brjyrb);
            input {
                margin-left: -10px;
                padding: 8px 10px 9px 12px;
                font-weight: 500;
                letter-spacing: 0.48px;
                background-color: var(--grey-white);
                border: 1px solid var(--grey-white);
                border-radius: 10px;
                color: var(--black);
                &::placeholder {
                    color: var(--t);
                }
                &:focus::placeholder {
                    color: var(--black);
                }
            }
        }
        button[type="submit"] {
            width: 100%;
            margin: 30px 0 10px;
            border-radius: 16px;
            background-color: var(--grey-white);
            transition: color .2s linear, background-color .2s linear;
            padding: 10px 30px;
            font-size: 16px;
            font-weight: 800;
            &[disabled] {
                opacity: .5;
                pointer-events: none;
            }
        }
        div:has(> .check) {
            display: grid;
            grid-template-columns: 16px 1fr;
            gap: 12px;
            p {
                color: var(--brjyrb);
                letter-spacing: 0.48px;
                a {
                    color: var(--border);
                    letter-spacing: inherit;
                }
            }
        }
        .check {
            position: relative;
            width: 100%;
            aspect-ratio: 1;
            border-radius: 4px;
            background: var(--grey-white);
            cursor: pointer;
            input {
                display: none;
            }
            &::before {
                content: '\e918';
                font: 100 10px/1 icon;
                color: var(--grey-white);
                position: absolute;
                left: 50%;
                top: 50%;
                transform: translate(-50%, -50%);
            }
            &:has(input:checked)::before {
                color: var(--blue);
            }
        }
    }
}
@media screen and (max-width: 1860px) {
    .product-box {
        grid-template-columns: repeat(2, 1fr) 450px;
        .image-box .bubbles-slider .slides img {
            width: 100px;
        }
    }
    .right-box {
        .info-box .info .price span {
            font-size: 30px;
            + span {
                font-size: 20px;
            }
        }
        > form {
            padding: 50px 12%;
        }
    }
    .descriptions .advantages {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        > div:has(+ div:last-child) {
            grid-column: 1/-1;
            &::after {
                display: none;
            }
        }
    }
}
@media screen and (max-width: 1500px) {
    .product-box {
        grid-template-columns: .7fr .3fr 450px;
        grid-template-rows: initial;
        grid-auto-rows: auto;
        .image-box {
            grid-area: 2/1/5/2;
            .bubbles-slider .slides img {
                width: 90px;
            }
        }
        .product-info {
            display: contents;
            .top {
                display: block;
                grid-area: 1/1/2/-1;
            }
            .params {
                margin-top: 0;
            }
            .bottom {
                display: flex;
                flex-direction: column;
                grid-area: 5/1/6/3;
            }
        }
        .descriptions {
            grid-area: 6/1/7/3;
        }
        .right-box {
            display: contents;
            .info-box {
                grid-area: 2/2/3/4;
                align-self: start;
            }
            > form {
                grid-area: 3/3/7/4;
                align-self: start;
            }
        }
    }
    .descriptions .bottom .tab.specification .table .tbody > div {
        grid-template-columns: 200px 1fr;
    }
}
@media screen and (max-width: 1280px) {
    .product-box {
        grid-template-columns: 1fr 400px;
        column-gap: 20px;
        .image-box {
            grid-area: 2/1/3/2;
            max-width: 584px;
            .bubbles-slider .slides img {
                width: 80px;
            }
        }
        .product-info {
            .top {
                grid-area: 1/1/2/2;
            }
            .bottom {
                grid-area: 3/1/4/2;
            }
            .title {
                font-size: 34px;
                + p {
                    font-size: 20px;
                }
            }
        }
        .descriptions {
            grid-area: 5/1/6/2;
            .advantages {
                display: flex;
                flex-direction: column;
                gap: 20px;
                div:not(:first-child) {
                    padding-top: 20px;
                    border-top: 1px solid var(--brjyrb);
                    &::after {
                        display: none;
                    }
                }
            }
        }
        .right-box {
            .info-box {
                grid-area: 4/1/5/2;
                gap: 20px;
                .delivery {
                    padding: 10px;
                }
            }
            > form {
                grid-area: 1/2/6/3;
                padding: 30px 20px;
            }
        }
    }
}
@media screen and (max-width: 992px) {
    .change-page a {
        gap: 4px;
        padding: 8px 20px 8px 10px;
        font-size: 14px;
        &.prev {
            padding: 8px 20px 8px 10px;
        }
    }
    .product-box {
        display: flex;
        flex-direction: column;
        .product-info {
            .top {
                order: 1;
            }
            .bottom {
                order: 3;
            }
        }
        .image-box {
            order: 2;
            align-self: center;
            .bubbles-slider .slides {
                gap: 10px;
                img {
                    width: 70px;
                }
            }
        }
        .right-box {
            .info-box {
                order: 4;
                width: 100%;
            }
            > form {
                order: 6;
            }
        }
        .descriptions {
            order: 5;
        }
    }
}
@media screen and (max-width: 768px) {
    .product-box {
        .product-info .title {
            font-size: 24px;
            + p {
                font-size: 16px;
            }
        }
        .info-box .info {
            padding: 10px;
            .price {
                max-width: 340px;
                span {
                    font-size: 28px;
                    + span {
                        font-size: 20px;
                    }
                }
                b {
                    margin-inline: 0 auto;
                }
            }
            .basket-form .btn {
                font-size: 14px;
            }
        }
        .right-box .info-box {
            gap: 10px;
            span {
                font-size: 16px;
                &::before {
                    font-size: 28px;
                    padding: 6px;
                    border-radius: 12px;
                }
            }
        }
        .descriptions {
            .tab-box {
                gap: 4px;
                margin: 0 -10px -25px 0;
            }
            .bottom {
                padding: 50px 10px 20px;
                .tab.specification .table .tbody > div {
                    grid-template-columns: 175px 1fr;
                    p {
                        font-size: 14px;
                    }
                }
            }
            .advantages {
                padding: 20px 17px;
                .head {
                    font-size: 20px;
                }
                p {
                    font-size: 14px;
                }
            }
        }
        .image-box .bubbles-slider {
            gap: 11px;
            .slides {
                gap: 8px;
                img {
                    width: 60px;
                }
            }
        }
    }
}
@media (hover:hover) {
    .image-box .bubbles-slider .arrow:hover::before {
        background-color: var(--blue);
        color: var(--white);
    }
    .change-page a:hover {
        color: var(--white);
        border-color: var(--blue);
        background-color: var(--blue);
    }
    .right-box {
        form {
            button[type="submit"]:hover {
                color: var(--white);
                background-color: var(--orange);
            }
            div:has(> .check) p a:hover {
                color: var(--orange);
            }
        }
        .info-box {
            .info :is(.add-compare, .add-favorites):hover {
                color: var(--orange);
                &::before {
                    color: var(--orange);
                }
            }
            .delivery:hover {
                span {
                    color: var(--orange);
                    &::before {
                        color: var(--orange);
                    }
                }
                .modal {
                    opacity: 1;
                    visibility: visible;
                }
            }
        }
    }
    .product-info .size .spoiler .list a:hover {
        color: var(--orange);
    }
}