﻿:root {
    --primary: #ff477e;
    --shopee-grad: linear-gradient(135deg, #ee4d2d, #ff7337);
    --lazada-grad: linear-gradient(135deg, #00008b, #4044ff);
    --tiktok-grad: linear-gradient(135deg, #000, #444);
    --pink-grad: linear-gradient(135deg, #ff477e, #ff80a5);
}

.text-gradient {
    background: var(--pink-grad);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.badge-new {
    display: inline-block;
    background: var(--soft-pink);
    color: var(--primary);
    padding: 5px 15px;
    border-radius: 50px;
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 1px;
}

/* Thẻ Voucher Layout */
.v-card-wow {
    background: white;
    display: flex;
    height: 200px;
    border-radius: 25px;
    position: relative;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 1px solid rgba(0,0,0,0.03);
}

.v-card-wow:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 50px rgba(255, 71, 126, 0.15);
}

/* Phần màu sắc sàn */
.v-side-left {
    width: 35%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    padding: 20px;
    position: relative;
    border-radius: 25px 0 0 25px;
}

.v-inner { text-align: center; z-index: 2; }
.v-amount { font-size: 2.2rem; font-weight: 900; line-height: 1; }
.v-label { font-size: 10px; font-weight: 700; letter-spacing: 2px; margin-top: 5px; opacity: 0.9; }
.v-platform-icon { font-size: 1.2rem; margin-bottom: 5px; opacity: 0.8; }

/* Đường răng cưa ngăn cách */
.v-stub-line {
    position: absolute;
    right: -1px;
    top: 20px;
    bottom: 20px;
    border-right: 2px dashed rgba(255,255,255,0.4);
    z-index: 2;
}

/* Phần nội dung bên phải */
.v-side-right {
    width: 65%;
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.v-title-text { font-weight: 800; font-size: 1.1rem; color: #333; margin-bottom: 5px; }
.v-condition { font-size: 13px; color: #666; }
.v-hsd { font-size: 11px; color: #aaa; margin-top: 5px; font-weight: 500; }

/* Code Display */
.v-code-display {
    background: #f8f9fa;
    border: 1.5px solid #eee;
    padding: 8px 10px;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    transition: 0.3s;
}

.v-code-display:hover {
    border-color: var(--primary);
    background: var(--soft-pink);
    color: var(--primary);
}

.code-text { font-family: 'Courier New', Courier, monospace; font-weight: 800; }

.v-btn-go {
    width: 45px;
    height: 45px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white !important;
    text-decoration: none;
    flex-shrink: 0;
}

/* Hiệu ứng Sắp hết mã */
.almost-gone { border: 2px solid #ff4757 !important; }

/* Lỗ khoét của vé */
.v-hole {
    position: absolute;
    width: 26px;
    height: 26px;
    background: #fcfcfc; /* Màu nền body */
    left: 35%;
    margin-left: -13px;
    border-radius: 50%;
    z-index: 3;
}
.v-hole.top { top: -13px; }
.v-hole.bottom { bottom: -13px; }

/* Filter Buttons */
.filter-btn {
    border: none;
    background: white;
    padding: 10px 25px;
    border-radius: 50px;
    font-weight: 700;
    color: #666;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: 0.3s;
}

.filter-btn.active { background: var(--primary); color: white; }

/* Gradients sàn */
.platform-shopee { background: var(--shopee-grad); }
.platform-lazada { background: var(--lazada-grad); }
.platform-tiktok { background: var(--tiktok-grad); }
.platform-all { background: var(--pink-grad); }

@keyframes pulse {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
}

/* Badge VIP cho Header */
.badge-vip {
    display: inline-block;
    background: linear-gradient(45deg, #ffd700, #ff8c00);
    color: white;
    padding: 4px 15px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
}

/* Brand Hub Layout */
.brand-hub-wrapper {
    max-width: 900px;
    margin: 0 auto;
}

.brand-hub-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

/* Mỗi Item thương hiệu */
.brand-item {
    cursor: pointer;
    transition: all 0.4s ease;
}

.brand-card-inner {
    background: white;
    padding: 20px;
    border-radius: 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 1px solid rgba(0,0,0,0.03);
    box-shadow: 0 10px 20px rgba(0,0,0,0.02);
    position: relative;
    transition: all 0.3s ease;
}

.brand-icon-box {
    width: 60px;
    height: 60px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: white;
    margin-bottom: 12px;
    transition: all 0.3s ease;
}

.brand-name {
    font-weight: 700;
    font-size: 0.9rem;
    color: #444;
}

.deal-count {
    font-size: 10px;
    color: #999;
    margin-top: 4px;
}

/* Màu sắc các Box Icon */
.bg-all { background: linear-gradient(135deg, #8e9eab, #eef2f3); color: #444; }
.bg-shopee { background: linear-gradient(135deg, #ee4d2d, #ff7337); }
.bg-lazada { background: linear-gradient(135deg, #00008b, #4044ff); }
.bg-tiktok { background: linear-gradient(135deg, #000, #444); }

/* Hiệu ứng Active & Hover */
.brand-item:hover .brand-card-inner {
    transform: translateY(-10px);
    border-color: var(--primary);
}

.brand-item.active .brand-card-inner {
    background: white;
    border: 2px solid var(--primary);
    box-shadow: 0 15px 30px rgba(255, 71, 126, 0.15);
}

.brand-item.active .brand-name { color: var(--primary); }

/* Mobile Responsive */
@media (max-width: 768px) {
    .brand-hub-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .brand-icon-box { width: 50px; height: 50px; font-size: 1.2rem; }
}

.v-countdown {
    font-size: 11px;
    color: #ff4757;
    font-weight: 700;
    background: #fff0f1;
    display: inline-block;
    padding: 2px 10px;
    border-radius: 5px;
    margin-top: 5px;
}

/* Hiệu ứng Pháo hoa mini cho code box khi hover */
.v-code-display:active {
    transform: scale(0.95);
}

/* Tối ưu Mobile để Card không bị quá cao */
@media (max-width: 576px) {
    .v-card-wow {
        height: 180px; /* Thu nhỏ chiều cao trên điện thoại */
    }
    .v-amount {
        font-size: 1.6rem;
    }
    .v-title-text {
        font-size: 1rem;
    }
    .brand-hub-grid {
        gap: 10px;
    }
    .brand-card-inner {
        padding: 10px;
    }
    .brand-icon-box {
        width: 40px;
        height: 40px;
        font-size: 1.1rem;
        margin-bottom: 5px;
    }
}

/* Hiệu ứng Floating nhè nhẹ cho trang web thêm sinh động */
.voucher-container::before {
    content: "✨";
    position: fixed;
    top: 20%; left: 5%;
    font-size: 2rem;
    opacity: 0.1;
    animation: floating 4s infinite;
}