/* =========================================
   1. VARIABLES & RESET
   ========================================= */
:root {
    --accent-red: #ff3f34;
    --accent-green: #0be881;
    --accent-blue: #3498db;
    --light-bg: #f4f7f6; 
    --card-white: #ffffff; 
    --text-dark: #2c3e50; 
    --text-grey: #7f8c8d; 
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Padauk', 'Poppins', sans-serif; }

body {
    background-color: var(--light-bg);
    color: var(--text-dark);
    padding: 20px 10px;
    padding-bottom: 80px; 
}

.container { max-width: 1200px; margin: 0 auto; }

/* =========================================
   2. HEADER (RED THEME)
   ========================================= */
header { margin-bottom: 30px; display: flex; justify-content: center; }

.header-card {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    padding: 30px 20px;
    border-radius: 25px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border-top: 5px solid var(--accent-red); /* Red Border */
    text-align: center;
    width: 100%;
    position: relative;
    overflow: hidden;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px;
}

.header-card::before { content: ''; position: absolute; top: -50px; right: -50px; width: 120px; height: 120px; background: rgba(52, 152, 219, 0.05); border-radius: 50%; }
.header-card::after { content: ''; position: absolute; bottom: -40px; left: -40px; width: 100px; height: 100px; background: rgba(255, 63, 52, 0.05); border-radius: 50%; }

.main-title { 
    font-size: 1.8rem; font-weight: 800; margin: 0; 
    color: var(--text-dark); position: relative; z-index: 1; line-height: 1.2;
}
.color-pop {
    background: linear-gradient(to right, var(--accent-red), var(--accent-blue));
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}

/* --- PROFILE GROUP (Admin & Phone) --- */
.profile-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    position: relative; z-index: 1;
}

.admin-badge, .contact-badge {
    background: rgba(255, 63, 52, 0.1); /* Soft Red Background for both */
    padding: 10px 25px;
    border-radius: 50px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #555; /* Default Text Color */
    transition: all 0.3s ease;
    display: flex; align-items: center; gap: 8px;
    text-decoration: none;
}

.admin-badge i, .contact-badge i { color: var(--accent-red); font-size: 1.1rem; }

/* Phone Specific Hover */
.contact-badge { cursor: pointer; color: var(--accent-red) !important; }
.contact-badge:hover { 
    transform: translateY(-3px); 
    background: rgba(255, 63, 52, 0.2); 
    box-shadow: 0 5px 15px rgba(255, 63, 52, 0.15);
}

/* =========================================
   3. GRID & CARDS
   ========================================= */
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 15px; margin-bottom: 40px; justify-content: center; }

.card {
    background: var(--card-white); border-radius: 15px; padding: 20px 10px;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex; flex-direction: column; align-items: center; justify-content: space-between;
    text-align: center; height: 100%; border: 1px solid rgba(0,0,0,0.05);
    box-shadow: 0 5px 10px rgba(0,0,0,0.05); cursor: pointer; position: relative;
}

.card:hover { transform: translateY(-8px); border-color: var(--item-color); box-shadow: 0 0 20px var(--item-shadow), 0 10px 20px rgba(0,0,0,0.1); }
.card:active { transform: scale(0.95); box-shadow: 0 0 30px var(--item-shadow); transition: 0.1s; }
.brand-icon { font-size: 2.2rem; margin-bottom: 10px; color: var(--item-color); transition: 0.3s; }
.card:hover .brand-icon { transform: scale(1.1) rotate(5deg); filter: drop-shadow(0 0 5px var(--item-color)); }
.card h3 { font-size: 1rem; margin-bottom: 5px; color: var(--text-dark); font-weight: 700; }
.price-tag { font-size: 0.9rem; font-weight: 600; margin-bottom: 15px; color: var(--text-grey); }
.buy-btn { width: 100%; padding: 8px 0; border-radius: 50px; background: transparent; border: 1px solid var(--item-color); color: var(--item-color); font-weight: 700; cursor: pointer; font-size: 0.85rem; transition: all 0.3s ease; }
.card:hover .buy-btn { background: var(--item-color); color: white; box-shadow: 0 0 10px var(--item-shadow); }

/* COLORS */
.wechat-card, .whatsapp-card { --item-color: #0be881; --item-shadow: rgba(11, 232, 129, 0.5); }
.tiktok-card { --item-color: #ef5777; --item-shadow: rgba(239, 87, 119, 0.5); }
.fb-card, .tg-card { --item-color: #3498db; --item-shadow: rgba(52, 152, 219, 0.5); }
.viber-card { --item-color: #9b59b6; --item-shadow: rgba(155, 89, 182, 0.5); }
.imo-card { --item-color: #0984e3; --item-shadow: rgba(9, 132, 227, 0.5); }
.capcut-card { --item-color: #000000; --item-shadow: rgba(0, 0, 0, 0.3); }
.ml-card { --item-color: #f1c40f; --item-shadow: rgba(241, 196, 15, 0.5); }
.apk-card { --item-color: #2ecc71; --item-shadow: rgba(46, 204, 113, 0.5); }
.sim-card { --item-color: #ff9f43; --item-shadow: rgba(255, 159, 67, 0.5); }

/* VPN CARD */
.vpn-card { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; padding: 20px; gap: 15px; border: 1px solid rgba(255, 63, 52, 0.2); }
.vpn-card:hover { box-shadow: 0 0 25px rgba(255, 63, 52, 0.3); border-color: #ff3f34; }
.vpn-left, .vpn-center, .vpn-right { width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.vpn-left .icon-wrapper { font-size: 1.8rem; color: var(--accent-red); background: rgba(255, 63, 52, 0.1); width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 10px; }
.status-badge { color: #000; font-weight: 800; border: 1px solid var(--accent-red); padding: 8px 20px; border-radius: 50px; font-size: 0.8rem; display: flex; align-items: center; gap: 8px; }
.pulse-dot { width: 8px; height: 8px; background: var(--accent-green); border-radius: 50%; animation: pulse 2s infinite; box-shadow: 0 0 5px var(--accent-green); }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(11,232,129,0.7); } 70% { box-shadow: 0 0 0 8px rgba(11,232,129,0); } }

/* Glass VPN Button */
.vpn-right button { 
    background: transparent; border: 2px solid var(--accent-red); color: var(--accent-red);
    padding: 10px 30px; border-radius: 50px; font-weight: 700; cursor: pointer; width: 100%; transition: 0.3s;
}
.vpn-right button:hover { background: var(--accent-red); color: white; box-shadow: 0 0 15px rgba(255, 63, 52, 0.4); }
.vpn-right button:active { transform: scale(0.95); }

/* --- WARRANTY & POLICY BOX DESIGN (Fixed Alignment) --- */
.warranty-box {
    background: #fff5f5; /* Light Red/Pink Background */
    border: 2px dashed #ff6b6b; /* Dashed Red Border */
    padding: 25px 20px;
    border-radius: 15px;
    width: 100%;
    max-width: 600px;
    position: relative;
    z-index: 1;
    text-align: left;
    margin: 40px auto;
}

.warranty-label {
    font-size: 1rem; font-weight: 800; color: var(--accent-red);
    text-transform: uppercase; margin-bottom: 20px; display: block;
    text-align: center; background: rgba(255, 63, 52, 0.1);
    padding: 10px; border-radius: 10px;
}

.policy-list { list-style: none; padding: 0; margin: 0; }
.policy-list li {
    font-size: 0.95rem; color: #444; margin-bottom: 15px;
    line-height: 1.8; display: flex; align-items: flex-start; gap: 12px;
}
.policy-list li i { color: var(--accent-red); font-size: 1.2rem; min-width: 25px; margin-top: 2px; text-align: center; }
.policy-list li span { flex: 1; text-align: left; }
.policy-list li b { color: #d63031; }

.seller-sign {
    margin-top: 20px; padding-top: 15px; border-top: 1px dashed rgba(255, 63, 52, 0.3);
    text-align: right; font-size: 1rem; color: var(--accent-red); font-weight: 600;
}

/* Cart Button */
#cart-btn { position: fixed; bottom: 25px; right: 25px; background: var(--accent-red); color: white; width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; box-shadow: 0 10px 20px rgba(255, 63, 52, 0.4); cursor: pointer; z-index: 1000; transition: transform 0.3s; }
#cart-btn:hover { transform: scale(1.1) rotate(-10deg); }
#cart-count { position: absolute; top: -5px; right: -5px; background: var(--text-dark); color: white; font-size: 12px; font-weight: bold; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; border-radius: 50%; border: 2px solid white; }

/* SweetAlert Custom */
div:where(.swal2-container) div:where(.swal2-popup) { border-radius: 20px !important; padding: 20px !important; }
div:where(.swal2-container) button:where(.swal2-styled) { border-radius: 50px !important; padding: 10px 25px !important; }

/* Hidden Invoice */
#invoice-capture { position: fixed; top: -9999px; left: -9999px; width: 400px; background: #fff; padding: 30px; border-radius: 0; font-family: 'Padauk', sans-serif; color: #333; border: 1px solid #ddd; }
.inv-header { text-align: center; border-bottom: 2px dashed #333; padding-bottom: 15px; margin-bottom: 15px; }
.inv-title { font-size: 1.5rem; font-weight: bold; color: #d63031; }
.inv-items { width: 100%; margin-bottom: 15px; border-collapse: collapse; }
.inv-items td { padding: 8px 0; border-bottom: 1px solid #eee; font-size: 0.9rem; }
.inv-total { text-align: right; font-size: 1.2rem; font-weight: bold; margin-top: 10px; border-top: 2px solid #333; padding-top: 10px; }
.inv-footer { margin-top: 20px; text-align: center; font-size: 0.8rem; color: #555; background: #f1f1f1; padding: 10px; border-radius: 10px; }

/* =========================================
   4. FOOTER (CLEAN & TRANSPARENT)
   ========================================= */
footer { margin-top: 20px; padding: 20px; text-align: center; }

.footer-content {
    background: transparent; border: none; box-shadow: none; padding: 10px;
    position: relative; max-width: 800px; margin: 0 auto;
}

.footer-content::before { display: none; }

.trust-badge {
    display: inline-block; background: rgba(255, 255, 255, 0.8); color: var(--accent-blue);
    padding: 8px 20px; border-radius: 50px; font-size: 0.9rem; font-weight: bold; margin-bottom: 15px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.footer-text { font-size: 0.95rem; color: var(--text-dark); font-weight: 600; line-height: 1.6; }
.copyright { margin-top: 15px; border-top: 1px dashed rgba(0,0,0,0.1); padding-top: 15px; font-size: 0.8rem; color: var(--text-grey); }

@media (min-width: 900px) {
    .grid { grid-template-columns: repeat(6, 1fr); gap: 20px; }
    .vpn-card { flex-direction: row; justify-content: space-between; padding: 30px; }
    .vpn-left, .vpn-center, .vpn-right { width: auto; flex: 1; }
    .vpn-left { align-items: flex-start; text-align: left; flex-direction: row; gap: 20px; }
    .vpn-right { align-items: flex-end; }
}