/* ViceCity Style.css - Professional Edition */
:root{
 --bg:#09040f;
 --surface:rgba(255,255,255,.08);
 --surface-2:rgba(255,255,255,.05);
 --border:rgba(255,255,255,.14);
 --text:#fff;
 --muted:#d4d4d4;
 --purple:#8b3dff;
 --pink:#ff4ec7;
 --radius:30px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 min-height:100vh;
 overflow-x:hidden;
 background:#09040f;
 color:var(--text);
 font-family:'Space Grotesk',Arial,sans-serif;
 position:relative;
}
body::before{
 content:"";
 position:fixed;
 inset:-20%;
 background:
 radial-gradient(circle at 20% 30%,rgba(139,61,255,.35),transparent 40%),
 radial-gradient(circle at 80% 20%,rgba(255,78,199,.30),transparent 35%),
 radial-gradient(circle at 50% 80%,rgba(95,0,255,.25),transparent 45%);
 filter:blur(90px);
 animation:aurora 18s ease-in-out infinite alternate;
 z-index:-2;
}
body::after{
 content:"";
 position:fixed;
 inset:0;
 background:linear-gradient(rgba(255,255,255,.02),transparent);
 z-index:-1;
}
@keyframes aurora{
0%{transform:translate(-5%,-3%) scale(1)}
50%{transform:translate(5%,4%) scale(1.15)}
100%{transform:translate(-3%,5%) scale(1)}
}
.navbar{
 position:fixed;top:22px;left:50%;transform:translateX(-50%);
 width:min(1200px,90%);
 display:flex;justify-content:space-between;align-items:center;
 padding:18px 30px;
 border-radius:999px;
 background:var(--surface-2);
 backdrop-filter:blur(24px);
 border:1px solid var(--border);
 box-shadow:0 10px 40px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.12); z-index:1000;
}
.logo{font-size:28px;font-weight:700;letter-spacing:2px}
.navbar ul{display:flex;gap:30px;list-style:none}
.navbar a{color:var(--text);text-decoration:none;transition:.3s}
.navbar a:hover{color:var(--pink);text-shadow:0 0 18px var(--pink)}
.hero{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:100vh;
    padding:140px 20px 60px;
}
.glass{
 position:relative;overflow:hidden;
 width:min(680px,100%);
 padding:60px;
 text-align:center;
 border-radius:var(--radius);
 background:var(--surface);
 border:1px solid var(--border);
 backdrop-filter:blur(28px);
 box-shadow:
 inset 0 1px rgba(255,255,255,.2),
 0 20px 60px rgba(0,0,0,.4),
 0 0 80px rgba(139,61,255,.18);
 transition:.45s;
}
.glass::before{
 content:"";
 position:absolute;
 top:-120px;left:-60%;
 width:60%;height:300px;
 transform:rotate(-20deg);
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
 transition:.9s;
}
.glass:hover::before{left:130%}
.glass:hover{
 transform:translateY(-8px);
 box-shadow:
 inset 0 1px rgba(255,255,255,.25),
 0 30px 70px rgba(0,0,0,.45),
 0 0 120px rgba(255,78,199,.22);
}
.glass h1{font-size:72px;margin-bottom:14px}
.glass p{color:var(--muted);margin-bottom:35px;font-size:20px}
.glass button{
 border:none;border-radius:999px;
 padding:18px 40px;
 color:#fff;cursor:pointer;
 background:linear-gradient(90deg,var(--purple),var(--pink));
 transition:.3s;
}
.glass button:hover{transform:scale(1.05);box-shadow:0 0 35px var(--pink)}
.section{min-height:100vh;display:flex;justify-content:center;align-items:center;color:white;font-size:60px;}
.badge{display:inline-block;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:14px;margin-bottom:25px;}
.glass h1{font-size:90px;font-weight:700;margin-bottom:15px;}
.glass span{color:var(--pink);}
.buttons{display:flex;justify-content:center;gap:18px;margin-top:35px;}
.primary{background:linear-gradient(90deg,var(--purple),var(--pink));}
.secondary{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:white;}
.cursor-glow{position:fixed;width:450px;height:450px;left:0;top:0;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(170,70,255,.22) 0%,rgba(255,70,180,.12) 35%,transparent 75%);transform:translate(-50%,-50%);filter:blur(45px);z-index:-1;transition:width .35s ease,height .35s ease;}
.hero-card{max-width:620px;display:flex;flex-direction:column;align-items:center;}
.hero-logo{width:170px;margin-bottom:25px;filter:drop-shadow(0 0 30px rgba(160,60,255,.5)) drop-shadow(0 0 60px rgba(255,70,180,.35));transition:.5s;}
.hero-logo:hover{transform:scale(1.05) rotate(-2deg);}
.scroll{margin-top:45px;color:#ffffff88;animation:scrollFloat 2s infinite;font-size:15px;letter-spacing:2px;}
@keyframes scrollFloat{0%{transform:translateY(0);}50%{transform:translateY(10px);}100%{transform:translateY(0);}}

/* ==========================
        RULES
========================== */
.rules-section{min-height:100vh;padding:120px 8%;direction:rtl;font-family:"Vazirmatn",sans-serif;}
.section-title{text-align:center;font-size:58px;margin-bottom:70px;color:white;}
.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;}
.rule-card{padding:35px;border-radius:28px;background:rgba(255,255,255,.05);backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.10);transition:.35s;}
.rule-card:hover{transform:translateY(-8px);border-color:rgba(255,255,255,.25);box-shadow:0 15px 45px rgba(0,0,0,.35),0 0 40px rgba(255,70,180,.12);}
.rule-card i{font-size:34px;margin-bottom:22px;background:linear-gradient(135deg,var(--purple),var(--pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.rule-card h3{margin-bottom:18px;font-size:26px;color:white;}
.rule-card p{color:#d8d8d8;line-height:2;font-size:16px;}
.section-subtitle{text-align:center;color:#bdbdbd;max-width:700px;margin:0 auto 60px;line-height:2;font-size:17px;}

/* ==========================
        STORE
========================== */
.store-section{min-height:100vh;padding:140px 8%;direction:rtl;font-family:"Vazirmatn",sans-serif;}
.billing-switch{width:max-content;margin:45px auto 70px;display:flex;gap:10px;padding:8px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(20px);}
.billing-btn{border:none;cursor:pointer;color:white;background:transparent;padding:12px 28px;border-radius:999px;font-family:inherit;transition:.3s;}
.billing-btn.active{background:linear-gradient(135deg,var(--purple),var(--pink));box-shadow:0 0 25px rgba(255,70,180,.35);}
.store-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:35px;}
.plan-card{position:relative;padding:40px;border-radius:28px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(25px);transition:.35s;overflow:hidden;}
.plan-card:hover{transform:translateY(-10px);border-color:rgba(255,255,255,.25);box-shadow:0 20px 60px rgba(0,0,0,.35),0 0 45px rgba(255,78,199,.15);}
.plan-card h3{font-size:32px;margin-bottom:25px;color:white;}
.price{margin-bottom:30px;}
.price span{display:block;font-size:48px;font-weight:700;color:white;}
.price small{color:#bdbdbd;font-size:16px;}
.plan-card ul{list-style:none;margin:0;padding:0;}
.plan-card li{padding:12px 0;color:#dddddd;border-bottom:1px solid rgba(255,255,255,.06);}
.plan-card li::before{content:"✓";color:var(--pink);font-weight:bold;margin-left:10px;}
.buy-btn{width:100%;margin-top:35px;padding:16px;border:none;border-radius:999px;cursor:pointer;color:white;font-size:17px;font-family:inherit;background:linear-gradient(135deg,var(--purple),var(--pink));transition:.3s;}
.buy-btn:hover{transform:scale(1.03);box-shadow:0 0 30px rgba(255,78,199,.4);}
.plan-card.popular{border:1px solid rgba(255,78,199,.45);}
.plan-card.popular::after{content:"محبوب‌ترین";position:absolute;top:18px;left:-35px;transform:rotate(-45deg);background:linear-gradient(135deg,var(--purple),var(--pink));color:white;padding:8px 40px;font-size:12px;font-weight:700;}

/* ==========================
        MODAL (پنجره خرید)
========================== */
.modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(10px);
    justify-content: center;
    align-items: center;
    direction: rtl;
    font-family: "Vazirmatn", sans-serif;
}
.modal-content {
    background: rgba(20, 10, 30, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 30px;
    padding: 40px;
    max-width: 450px;
    width: 90%;
    text-align: center;
    color: white;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
    animation: modalFadeIn 0.3s ease;
}
@keyframes modalFadeIn {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
}
.close-modal {
    float: left;
    font-size: 28px;
    cursor: pointer;
    color: #bdbdbd;
    transition: 0.3s;
}
.close-modal:hover {
    color: var(--pink);
    transform: rotate(90deg);
}
.modal-content h3 { font-size: 28px; margin-bottom: 15px; color: white; }
.modal-content p { color: #d4d4d4; margin-bottom: 20px; line-height: 1.8; }
.modal-buttons { display: flex; flex-direction: column; gap: 15px; margin-top: 20px; }
.modal-ts-btn {
    padding: 16px;
    border: none;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--purple), var(--pink));
    color: white;
    font-size: 18px;
    cursor: pointer;
    font-family: inherit;
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.modal-ts-btn:hover { transform: scale(1.03); box-shadow: 0 0 30px rgba(255, 78, 199, 0.4); }
.modal-or { margin: 10px 0; color: #666; }
.modal-id-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 12px 20px;
    border-radius: 999px;
}
.modal-id-box span { color: #d4d4d4; }
.modal-id-box strong { color: var(--pink); }
.copy-btn {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
    padding: 6px 18px;
    border-radius: 999px;
    cursor: pointer;
    transition: 0.3s;
}
.copy-btn:hover { background: var(--pink); border-color: var(--pink); }
section {
  scroll-margin-top: 120px;
}
section {
  scroll-margin-top: 120px;
}
.plan-card, .rule-card {
    opacity: 0;
    transform: translateY(30px);
    animation: fadeUp 0.8s forwards;
}

@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
html, body {
    width: 100%;
    overflow-x: hidden;
}

.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 120px;
}