body {
    font-family: 'Vazirmatn', sans-serif;
    background-color: var(--bg-dark, #020617);
    color: var(--text-primary, #ecfdf5);
    overflow-x: hidden;
}

/* Utility Classes */
.glass-panel {
    background: var(--surface-dark, #050a07); /* Fallback */
    background: color-mix(in srgb, var(--surface-dark, #050a07) 70%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid color-mix(in srgb, var(--brand-500, #17c976) 15%, transparent);
}

.bg-grid {
    background-size: 40px 40px;
    background-image: linear-gradient(to right, color-mix(in srgb, var(--brand-500) 10%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--brand-500) 10%, transparent) 1px, transparent 1px);
}

.btn-touch:active {
    transform: scale(0.96);
}

/* Hide Scrollbar */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* View Switching Logic */
.view-section { display: none; }
.view-section.active { display: block; animation: fadeIn 0.5s ease; }

/* Dashboard Internal Switching */
.dash-section { display: none; }
.dash-section.active { display: block; animation: fadeIn 0.3s ease-out; }

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* FAQ Animation */
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details[open] summary ~ * { animation: slideUp 0.3s ease-in-out; }

/* Mobile Menu Transitions */
.mobile-menu-overlay {
    transition: opacity 0.3s ease, visibility 0.3s;
}
.mobile-menu-content {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Line Clamp */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Typography */
.article-content h2 { 
    font-size: 1.25rem; 
    font-weight: 800; 
    color: var(--text-primary, white); 
    margin-top: 1.5rem; 
    margin-bottom: 0.75rem; 
    border-right: 3px solid var(--brand-500, #17c976); 
    padding-right: 0.75rem; 
}
.article-content h3 { 
    font-size: 1.1rem; 
    font-weight: 700; 
    color: var(--text-primary, #e2e8f0); 
    margin-top: 1.25rem; 
    margin-bottom: 0.5rem; 
}
.article-content p { 
    margin-bottom: 1rem; 
    line-height: 1.7; 
    color: var(--text-secondary, #cbd5e1); 
    font-size: 0.95rem; 
}
@media (min-width: 768px) {
    .article-content h2 { font-size: 1.5rem; margin-top: 2rem; margin-bottom: 1rem; border-right-width: 4px; padding-right: 1rem; }
    .article-content h3 { font-size: 1.25rem; margin-top: 1.5rem; margin-bottom: 0.75rem; }
    .article-content p { margin-bottom: 1.5rem; line-height: 1.8; font-size: 1rem; }
}

/* Reset Global Button Styles overriding Digits */
[type=button], [type=submit], button {
    background-color: inherit;
    border: none;
    color: inherit;
}

[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover { 
    outline: none;
}

/* Admin Bar Compatibility */
body.admin-bar header.fixed {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar header.fixed {
        top: 46px !important;
    }
}

/* Custom Neon Scrollbar - Global Application */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--brand-500, #17c976) var(--surface-dark, #050a07);
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px; /* Also style horizontal scrollbars */
    background-color: var(--bg-dark, #020617);
}

*::-webkit-scrollbar-track {
    background-color: var(--surface-dark, #050a07);
    border-left: 1px solid color-mix(in srgb, var(--brand-500, #17c976) 10%, transparent);
    border-radius: 4px;
}

*::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, 
        color-mix(in srgb, var(--brand-500, #17c976) 80%, transparent), 
        var(--brand-500, #17c976)
    );
    border-radius: 5px;
    border: 2px solid var(--surface-dark, #050a07);
    box-shadow: 0 0 10px var(--brand-500, #17c976), inset 0 0 5px rgba(255, 255, 255, 0.2);
}

*::-webkit-scrollbar-thumb:hover {
    background: var(--brand-500, #17c976);
    box-shadow: 0 0 15px var(--brand-500, #17c976), inset 0 0 8px rgba(255, 255, 255, 0.4);
}

/* Corner for when both scrollbars meet */
*::-webkit-scrollbar-corner {
    background: var(--surface-dark, #050a07);
}

/* Color overrides from functions.php */
.text-slate-400, .text-slate-300, .text-slate-500 {
    color: var(--text-secondary) !important;
}
/* WooCommerce specific overrides */
.woocommerce-cart table.cart td.actions .coupon .input-text {
     background-color: var(--surface-dark) !important;
     border-color: var(--brand-500) !important;
     color: var(--text-primary) !important;
}
