/* حالت شب */

body.dark-mode {
    --background: #17131c;
    --surface: #231c2a;
    --surface-soft: #342438;
    --text: #f7edf4;
    --muted: #b9aabb;
    --border: #443449;
    --shadow: 0 10px 35px rgba(0,0,0,.25);
    --primary: #e979a5;
    --primary-dark: #ed8db2;
    --secondary: #a58ad2;
    --accent: #e7bd60;
}

body.dark-mode .site-header {
    background: var(--surface);
    border-color: var(--border);
}

body.dark-mode .main-nav a {
    color: var(--text);
}

body.dark-mode .product-card,
body.dark-mode .offer-card,
body.dark-mode .review-card,
body.dark-mode .review-form-container {
    background: var(--surface);
    border-color: var(--border);
}

body.dark-mode .product-filters input,
body.dark-mode .product-filters select,
body.dark-mode .review-form-container input,
body.dark-mode .review-form-container select,
body.dark-mode .review-form-container textarea {
    background: #302638;
    color: var(--text);
    border-color: var(--border);
}

body.dark-mode .product-placeholder {
    background: #382a3a;
}

body.dark-mode .support-panel {
    background: var(--surface);
    color: var(--text);
    border-color: var(--border);
}

body.dark-mode .support-panel p {
    color: var(--muted);
}

body.dark-mode .theme-toggle {
    background: #3d3045;
    color: #ffd36b;
    border-color: #57445e;
}

body.dark-mode .welcome-message {
    background: var(--surface);
    border-color: var(--border);
    color: #ff9fc2;
}

/* لایه ستاره‌ها */

#night-stars {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
}

body.dark-mode #night-stars {
    z-index: 0;
}

body.dark-mode .site-header,
body.dark-mode main,
body.dark-mode .site-footer,
body.dark-mode .support-button,
body.dark-mode .support-panel,
body.dark-mode .welcome-message {
    position: relative;
    z-index: 1;
}

body.dark-mode .site-header {
    position: sticky;
    top: 0;
}

.night-star {
    position: absolute;
    display: block;
    background: #fff;
    border-radius: 50%;
    animation: starTwinkle 2s infinite ease-in-out;
    box-shadow: 0 0 8px rgba(255,255,255,.8);
}

.night-star:nth-child(3n) {
    animation-duration: 3s;
}

.night-star:nth-child(4n) {
    animation-duration: 4s;
}

.night-star:nth-child(5n) {
    animation-delay: 1s;
}

@keyframes starTwinkle {
    0%, 100% {
        opacity: .2;
        transform: scale(.7);
    }

    50% {
        opacity: 1;
        transform: scale(1.4);
    }
}