/* @font-face {
    font-family: "Btsuave";
    font-weight: 700;
    font-style: normal;
    font-display: wrap;
    src:
        url("/public/assets/fonts/btsuave/btsuave-bold.woff") format("woff"),
        url("/public/assets/fonts/btsuave/btsuave-bold.woff2") format("woff2"),
        url("/public/assets/fonts/btsuave/btsuave-bold.ttf") format("truetype"),
    ;
}

@font-face {
    font-family: "Btsuave";
    font-weight: 500;
    font-style: normal;
    font-display: wrap;
    src:
        url("/public/assets/fonts/btsuave/btsuave-regular.woff") format("woff"),
        url("/public/assets/fonts/btsuave/btsuave-regular.woff2") format("woff2"),
        url("/public/assets/fonts/btsuave/btsuave-regular.ttf") format("truetype"),
    ;
}

@font-face {
    font-family: "Btsuave";
    font-weight: 400;
    font-style: normal;
    font-display: wrap;
    src:
        url("/public/assets/fonts/btsuave/btsuave-medium.woff") format("woff"),
        url("/public/assets/fonts/btsuave/btsuave-medium.woff2") format("woff2"),
        url("/public/assets/fonts/btsuave/btsuave-medium.ttf") format("truetype"),
    ;
}

html, body {
    font-family: "Btsuave";
} */

.container-layout {
    max-width: 1380px;
    padding: 0 15px;
}

.variant-card {
    position: relative;
    overflow: hidden;
}

.variant-card.selected:before {
    content: '';
    padding: 4px;
    font-size: 10px;
    line-height: 1;
    position: absolute;
    top: -15px;
    right: -13px;
    background: #ed2524;
    width: 26px;
    height: 24px;
    transform: rotate(45deg);
    border-radius: 100%;
}

.variant-card.selected:after {
    content: '';
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQfkCw8RJSHXzNuNAAAAfElEQVQoz7WRsQ2CYBQGLwRCaLRkDwqdwcLCSZjCmj2AgtoJXMbEUquzEAz+8Je89r675sGG59ka0ig+0ZFbJDGbgRwoAXemi/hb1QZw793ebB739cPgTdV2qvzZAFY+VL+VwB4nB59j5RLYhBVXcTBZw7NJDAN49LrFyz67GnkMHStx0wAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMC0xMS0xNVQxNzozNzozMyswMDowMGfDTJEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjAtMTEtMTVUMTc6Mzc6MzMrMDA6MDAWnvQtAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg==);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0px;
    right: 0;
    width: 7px;
    height: 7px;
}

.voucher-container {
    position: relative;
    display: inline-block;
    margin-bottom: 5px;
}

.voucher {
    font-size: 14px;
    background-color: #ed2524;
    border-radius: 3px;
    font-weight: 500;
    color: #fff;
    padding: 5px 12px;
    border: 1px solid #ed2524;
}

.voucher::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background: #fff;
    z-index: 1;
    left: -5px;
    top: 50%;
    position: absolute;
    border-radius: 50%;
    transform: translateY(-50%);
}

.voucher::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background: #fff;
    z-index: 1;
    right: -5px;
    top: 50%;
    position: absolute;
    border-radius: 50%;
    transform: translateY(-50%);
}

/* Product Card Hover Effects */
.product-card {
    transition: all 0.3s ease;
}

.product-card:hover {
    transform: translateY(-2px);
}

.product-card:hover .product-image {
    transform: scale(1.05);
}

.product-image {
    transition: transform 0.5s ease;
}

.product-card:hover .hover-actions {
    opacity: 1;
    transform: translateY(0);
}

.hover-actions {
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

/* Responsive Grid */
.product-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 649px) {
    .text-title {
        font-size: 20px;
    }
}

@media (min-width: 649px) {
    .product-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .product-info_left {
        flex: 1 1 0;
    }
    
    .product-info_right {
        flex 0 0 45px;
    }
}

@media (min-width: 850px) {
    .product-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Responsive Text */
.product-title {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.product-price {
    font-size: 0.875rem;
}

@media (min-width: 649px) {
    .product-title {
        font-size: 1rem;
        line-height: 1.5rem;
    }
    .product-price {
        font-size: 1rem;
    }
}