.mt-product-showcase,
.mt-product-showcase * {
    box-sizing: border-box;
}

.mt-product-showcase {
    width: 100%;
    background: #ffffff;
    padding: 0 6.944vw 3.472vw;
}

.mt-product-showcase-layout {
    width: min(100%, 86.111vw);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 57.5806% minmax(0, 1fr);
    gap: 2.0968%;
}

.mt-product-showcase-gallery {
    display: grid;
    grid-template-columns: 13.4454% minmax(0, 1fr);
    padding-left: 0.417vw;
    gap: 1.6807%;
    min-width: 0;
}

.mt-product-showcase-thumbs {
    height: 41.667vw;
    overflow-y: hidden;
    overflow-x: hidden;
    padding-right: 0;
    padding-top: 0.417vw;
    display: grid;
    grid-auto-rows: 6.25vw;
    gap: 0.833vw;
    scrollbar-width: none;
}

.mt-product-showcase-thumbs::-webkit-scrollbar {
    display: none;
}

.mt-product-showcase-thumb {
    width: 100%;
    aspect-ratio: 1 / 1;
    padding: 0;
    margin: 0;
    border: 1px solid transparent;
    border-radius: 0.417vw;
    background: #f3f3f3;
    overflow: hidden;
    cursor: pointer;
}

.mt-product-showcase-thumb.is-active {
    border-color: #2ef0d6;
}

.mt-product-showcase .mt-product-showcase-thumb img {
    width: 100%;
    height: 100%;
    max-width: none;
    display: block;
    object-fit: cover;
    object-position: center;
}

.mt-product-showcase-main {
    position: relative;
    height: 41.667vw;
    border-radius: 1.667vw;
    overflow: hidden;
    background: #ffffff;
}

.mt-product-showcase .mt-product-showcase-main-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    display: block;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.mt-product-showcase-main-image.is-active {
    opacity: 1;
    visibility: visible;
}

.mt-product-showcase-arrow,
.mt-product-showcase-zoom {
    position: absolute;
    z-index: 4;
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    box-shadow: none;
    outline: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.mt-product-showcase-arrow {
    top: 50%;
    width: 3.056vw;
    height: 3.056vw;
    border-radius: 50%;
    transform: translateY(-50%);
}

.mt-product-showcase-arrow-prev {
    left: 1.528vw;
}

.mt-product-showcase-arrow-next {
    right: 1.528vw;
}

.mt-product-showcase-zoom {
    top: 1.944vw;
    right: 1.528vw;
    width: 3.056vw;
    height: 3.056vw;
    border-radius: 50%;
}

.mt-product-showcase-arrow img,
.mt-product-showcase-zoom img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    display: block;
}

.mt-product-showcase-arrow span,
.mt-product-showcase-zoom span {
    color: #ffffff;
    font-size: 1.944vw;
    line-height: 1;
}

.mt-product-showcase-info {
    min-width: 0;
    padding-top: 0;
    font-family: var(--vape-font-body);
    color: #000000;
}

.mt-product-showcase-title {
    margin: 0 0 0.417vw;
    font-family: var(--vape-font-brand);
    font-size: 1.667vw;
    font-weight: 700;
    line-height: 2.222vw;
    color: #0d0d0d;
}

.mt-product-showcase-rating {
    display: flex;
    align-items: center;
    gap: 0.556vw;
    margin-bottom: 1.667vw;
}

.mt-product-showcase-stars {
    font-size: 1.111vw;
    line-height: 1;
    letter-spacing: 1px;
}

.mt-product-showcase-reviews {
    color: #63635F;
    font-weight: 500;
    font-size: 0.972vw;
    line-height: 1.528vw;
    letter-spacing: 0;
}

.mt-product-showcase-quote {
    margin: 0 0 1.667vw;
    font-weight: 500;
    font-size: 0.972vw;
    line-height: 1.528vw;
    letter-spacing: 0;
    color: #000000;
}

.mt-product-showcase-series {
    margin-bottom: 0.556vw;
    font-weight: 700;
    font-size: 1.111vw;
    line-height: 1.667vw;
    letter-spacing: 0;
}

.mt-product-showcase-discount {
    margin-bottom: 1.667vw;
    color: #df2335;
    font-weight: 500;
    font-size: 0.972vw;
    line-height: 1.528vw;
    letter-spacing: 0;
}

.mt-product-showcase-colors {
    margin-bottom: 2.083vw;
}

.mt-product-showcase-color-text {
    margin-bottom: 0.556vw;
    font-weight: 700;
    font-size: 0.972vw;
    line-height: 1.528vw;
}

.mt-product-showcase-color-text span {
    font-weight: 400;
    font-size: 1.111vw;
    line-height: 1.667vw;
}

.mt-product-showcase-color-list {
    display: flex;
    align-items: center;
    gap: 0.833vw;
    flex-wrap: wrap;
}

.mt-product-showcase-color-button {
    width: 3.472vw;
    height: 3.472vw;
    padding: 0;
    border: 1px solid #d8d8d8;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
    overflow: hidden;
}

.mt-product-showcase-color-button.is-active {
    border: 1px solid #0d0d0d;
}

.mt-product-showcase-color-button img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    display: block;
}

.mt-product-showcase-color-button span {
    width: 1.25vw;
    height: 1.25vw;
    border-radius: 999px;
    background: #2ef0d6;
    display: block;
    margin: auto;
}

.mt-product-showcase-subscribe-button {
    width: 100%;
    height: 2.5vw;
    border-radius: 99px;
    background: #2ef0d6;
    color: #0d0d0d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--vape-font-brand);
    font-size: 1.111vw;
    font-weight: 500;
    line-height: 1.667vw;
    text-decoration: none;
}

.mt-product-showcase-subscribe-button:hover,
.mt-product-showcase-subscribe-button:focus,
.mt-product-showcase-recommend-button:hover,
.mt-product-showcase-recommend-button:focus {
    color: #0d0d0d;
    text-decoration: none;
    opacity: 0.9;
}

.mt-product-showcase-subscribe-note {
    margin: 0.556vw 0;
    text-align: center;
    font-weight: 500;
    font-size: 0.833vw;
    line-height: 1.389vw;
    letter-spacing: 0;
}

.mt-product-showcase-socials {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25vw;
    margin-bottom: 2.083vw;
}

.mt-product-showcase-social {
    width: 1.25vw;
    height: 1.25vw;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mt-product-showcase-social img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    display: block;
}

.mt-product-showcase-social span {
    color: #0d0d0d;
    font-size: 0.833vw;
    font-weight: 700;
}

.mt-product-showcase-recommend h3 {
    margin: 0 0 0.556vw;
    font-family: var(--vape-font-brand);
    font-size: 0.972vw;
    font-weight: 700;
    line-height: 1.528vw;
    letter-spacing: 0;
    color: #000000;
}

.mt-product-showcase-recommend-card {
    min-height: 8.333vw;
    padding: 0.694vw 0.833vw;
    border-radius: 0.417vw;
    background: #f0f0f0;
    display: grid;
    grid-template-columns: 6.944vw minmax(0, 1fr);
    gap: 0.833vw;
    align-items: center;
}

.mt-product-showcase-recommend-image {
    width: 6.944vw;
    height: 6.944vw;
    border-radius: 0.417vw;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mt-product-showcase-recommend-image img {
    max-width: 100%;
    max-height: 100%;
    display: block;
    object-fit: contain;
}

.mt-product-showcase-recommend-content {
    min-width: 0;
    display: grid;
    gap: 2.083vw;
}

.mt-product-showcase-recommend-content strong {
    font-family: var(--vape-font-brand);
    font-weight: 700;
    font-size: 0.972vw;
    line-height: 1.528vw;
    letter-spacing: 0;
    color: #0d0d0d;
}

.mt-product-showcase-recommend-button {
    width: 12.014vw;
    height: 2.222vw;
    border-radius: 99px;
    background: #2ef0d6;
    color: #0d0d0d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--vape-font-brand);
    font-size: 1.111vw;
    line-height: 1.667vw;
    font-weight: 500;
    text-decoration: none;
}

.mt-product-showcase-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.76);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 2.222vw;
}

.mt-product-showcase-lightbox.is-active {
    display: flex;
}

.mt-product-showcase-lightbox img {
    max-width: min(92vw, 76.389vw);
    max-height: 86vh;
    object-fit: contain;
}

.mt-product-showcase-lightbox-close {
    position: absolute;
    top: 1.667vw;
    right: 1.944vw;
    width: 2.917vw;
    height: 2.917vw;
    border: 0;
    background: #ffffff;
    color: #0d0d0d;
    border-radius: 50%;
    font-size: 1.944vw;
    cursor: pointer;
}

@media (max-width: 1024px) {
    .mt-product-showcase {
        padding: 0 4.688vw 4.883vw;
    }

    .mt-product-showcase-layout {
        grid-template-columns: 1fr;
        gap: 2.539vw;
    }

    .mt-product-showcase-gallery {
        grid-template-columns: 7.422vw minmax(0, 1fr);
        padding-left: 0;
        gap: 1.172vw;
    }

    .mt-product-showcase-thumbs,
    .mt-product-showcase-main {
        height: 50.781vw;
    }

    .mt-product-showcase-thumbs {
        grid-auto-rows: 8.203vw;
        gap: 0.977vw;
        padding-top: 0;
    }

    .mt-product-showcase-thumb {
        width: 7.422vw;
        height: 8.203vw;
        border-radius: 0.586vw;
    }

    .mt-product-showcase-main {
        border-radius: 1.953vw;
    }

    .mt-product-showcase-info {
        padding-top: 2.344vw;
    }

    .mt-product-showcase-title {
        font-size: 2.344vw;
        line-height: 3.125vw;
    }

    .mt-product-showcase-stars {
        font-size: 1.563vw;
    }

    .mt-product-showcase-reviews,
    .mt-product-showcase-quote,
    .mt-product-showcase-discount {
        font-size: 1.367vw;
        line-height: 2.148vw;
    }

    .mt-product-showcase-series {
        font-size: 1.563vw;
        line-height: 2.344vw;
    }

    .mt-product-showcase-color-text {
        font-size: 1.367vw;
        line-height: 2.148vw;
    }

    .mt-product-showcase-color-text span {
        font-size: 1.563vw;
        line-height: 2.344vw;
    }

    .mt-product-showcase-color-button {
        width: 4.883vw;
        height: 4.883vw;
    }

    .mt-product-showcase-subscribe-button {
        height: 3.516vw;
        font-size: 1.563vw;
        line-height: 2.344vw;
    }

    .mt-product-showcase-subscribe-note {
        font-size: 1.172vw;
        line-height: 1.953vw;
    }

    .mt-product-showcase-social {
        width: 1.758vw;
        height: 1.758vw;
    }

    .mt-product-showcase-recommend-card {
        min-height: 11.719vw;
        padding: 0.977vw 1.172vw;
        grid-template-columns: 9.766vw minmax(0, 1fr);
        gap: 1.172vw;
    }

    .mt-product-showcase-recommend-image {
        width: 9.766vw;
        height: 9.766vw;
    }

    .mt-product-showcase-recommend-content {
        gap: 2.93vw;
    }

    .mt-product-showcase-recommend-button {
        width: 16.895vw;
        height: 3.125vw;
        font-size: 1.563vw;
        line-height: 2.344vw;
    }
}

@media (max-width: 768px) {
    .mt-product-showcase {
        padding: 0 2.344vw 5.469vw;
    }

    .mt-product-showcase-layout {
        gap: 0;
    }

    .mt-product-showcase-gallery {
        grid-template-columns: 1fr;
    }

    .mt-product-showcase-thumbs {
        order: 2;
        height: auto;
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        grid-auto-rows: auto;
        padding-top: 1.302vw;
    }

    .mt-product-showcase-thumb {
        flex: 0 0 9.375vw;
        width: 9.375vw;
        height: 9.896vw;
    }

    .mt-product-showcase-main {
        height: 49.479vw;
        border-radius: 2.083vw;
    }

    .mt-product-showcase-info {
        padding-top: 3.125vw;
    }

    .mt-product-showcase-arrow {
        width: 4.688vw;
        height: 4.688vw;
    }

    .mt-product-showcase-arrow-prev {
        left: 1.823vw;
    }

    .mt-product-showcase-arrow-next {
        right: 1.823vw;
    }

    .mt-product-showcase-zoom {
        top: 2.344vw;
        right: 1.823vw;
        width: 4.688vw;
        height: 4.688vw;
    }

    .mt-product-showcase-color-list {
        gap: 1.302vw;
    }

    .mt-product-showcase-recommend-card {
        grid-template-columns: 10.677vw 1fr;
    }

    .mt-product-showcase-recommend-image {
        width: 10.677vw;
        height: 10.677vw;
    }

    .mt-product-showcase-recommend-button {
        width: 18.229vw;
    }
}