/* ============================================
   FRONTEND-NEW DARK THEME — Full Override
   Supports .theme-dark on <html> or <body>
   ============================================ */

/* ===== Override CSS Custom Properties ===== */
.theme-dark,
html.theme-dark,
body.theme-dark {
    --primary: #04a9f5;
    --primary-dark: #0390d4;
    --primary-light: #0e2a3a;
    --primary-rgb: 4, 169, 245;
    --secondary: #39465f;
    --secondary-dark: #2a3447;
    --secondary-light: #1a2233;
    --heading: #ffffff;
    --text: #b8c0cc;
    --text-light: #7a8595;
    --bg: #131418;
    --bg-alt: #1a1c21;
    --bg-section: #0f1014;
    --border: #2a2d35;
    --border-light: #21242c;
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.6);
    --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.7);
    --shadow-primary: 0 8px 24px rgba(var(--primary-rgb), 0.3);
}

.theme-dark body {
    background-color: var(--bg);
    color: var(--text);
    transition: background-color 0.4s ease, color 0.4s ease;
}

/* ===== Header / Navbar ===== */
.theme-dark #header {
    background-color: rgba(19, 20, 24, 0.92);
    border-bottom: 1px solid var(--border);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.theme-dark .nav-link,
.theme-dark .header-actions a,
.theme-dark .header-actions button {
    color: var(--text);
}

.theme-dark .nav-link:hover,
.theme-dark .nav-link.active {
    color: #fff;
}

.theme-dark .header-phone {
    color: var(--text);
}

.theme-dark .header-phone:hover {
    color: var(--primary);
}

.theme-dark .logo-name {
    color: #fff;
}

.theme-dark .logo-tagline {
    color: var(--text-light);
}

.theme-dark #menu-toggle span {
    background-color: #fff;
}

/* ===== Mobile Menu ===== */
.theme-dark .mobile-menu {
    background-color: var(--bg-alt);
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.6);
}

.theme-dark .mobile-menu .logo-name {
    color: #fff;
}

.theme-dark .mobile-nav-link {
    color: var(--text);
    border-bottom-color: var(--border);
}

.theme-dark .mobile-nav-link:hover {
    color: var(--primary);
    background-color: var(--border-light);
}

.theme-dark .mobile-phone {
    color: var(--text);
}

/* ===== Hero Section ===== */
.theme-dark .hero {
    background: linear-gradient(135deg, #131418 0%, #1a1c21 50%, #0f1014 100%);
}

.theme-dark .hero-badge {
    background-color: rgba(var(--primary-rgb), 0.12);
    color: var(--primary);
    border-color: rgba(var(--primary-rgb), 0.3);
}

.theme-dark .hero-title {
    color: #fff;
}

.theme-dark .text-gradient {
    background: linear-gradient(135deg, var(--primary) 0%, #6dd5ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.theme-dark .hero-description {
    color: var(--text);
}

.theme-dark .hero-card {
    background-color: var(--bg-alt);
    border: 1px solid var(--border);
    box-shadow: var(--shadow-md);
}

.theme-dark .hero-card h3 {
    color: #fff;
}

.theme-dark .hero-card p {
    color: var(--text);
}

.theme-dark .hero-card-icon {
    background-color: rgba(var(--primary-rgb), 0.15);
    color: var(--primary);
}

.theme-dark .hero-card-float {
    background-color: var(--bg-alt);
    border: 1px solid var(--border);
    color: #fff;
}

.theme-dark .hero-stat-number {
    color: #fff;
}

.theme-dark .hero-stat-label {
    color: var(--text);
}

.theme-dark .stat-divider {
    background-color: var(--border);
}

/* ===== Section Headers ===== */
.theme-dark .section-title {
    color: #fff;
}

.theme-dark .section-description {
    color: var(--text);
}

.theme-dark .section-tag {
    background-color: rgba(var(--primary-rgb), 0.1);
    color: var(--primary);
    border-color: rgba(var(--primary-rgb), 0.25);
}

/* ===== Service Cards ===== */
.theme-dark .service-card {
    background-color: var(--bg-alt);
    border: 1px solid var(--border);
}

.theme-dark .service-card:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow-lg);
}

.theme-dark .service-card.featured {
    background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.08), transparent);
    border-color: rgba(var(--primary-rgb), 0.3);
}

.theme-dark .service-title {
    color: #fff;
}

.theme-dark .service-description {
    color: var(--text);
}

.theme-dark .service-features li {
    color: var(--text);
}

.theme-dark .service-link {
    color: var(--primary);
}

.theme-dark .service-icon {
    background-color: rgba(var(--primary-rgb), 0.12);
    color: var(--primary);
}

.theme-dark .service-number {
    color: var(--text-light);
}

.theme-dark .service-badge {
    background-color: var(--primary);
    color: #fff;
}

/* ===== Why Us Cards ===== */
.theme-dark .why-card {
    background-color: var(--bg-alt);
    border: 1px solid var(--border);
}

.theme-dark .why-card:hover {
    border-color: var(--primary);
}

.theme-dark .why-card h3 {
    color: #fff;
}

.theme-dark .why-card p {
    color: var(--text);
}

.theme-dark .why-icon {
    background-color: rgba(var(--primary-rgb), 0.12);
    color: var(--primary);
}

/* ===== Tariff Section ===== */
.theme-dark .tariff-tab {
    background-color: var(--bg-alt);
    color: var(--text);
    border: 1px solid var(--border);
}

.theme-dark .tariff-tab:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.theme-dark .tariff-tab.active {
    background-color: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

.theme-dark .tariff-content {
    background-color: var(--bg-alt);
    border: 1px solid var(--border);
}

.theme-dark .tariff-table-wrapper {
    background-color: transparent;
}

.theme-dark .tariff-table {
    background-color: transparent;
}

.theme-dark .tariff-table thead tr {
    background-color: var(--bg-section);
}

.theme-dark .tariff-table thead th {
    color: #fff;
    border-bottom-color: var(--primary);
}

.theme-dark .tariff-table tbody tr {
    border-bottom-color: var(--border);
}

.theme-dark .tariff-table tbody tr:hover {
    background-color: rgba(var(--primary-rgb), 0.06);
}

.theme-dark .tariff-table tbody td {
    color: var(--text);
    border-color: var(--border);
}

.theme-dark .tariff-note {
    background-color: var(--bg-alt);
    border-color: var(--border);
    color: var(--text);
}

/* ===== About Section ===== */
.theme-dark .about-section {
    background-color: var(--bg-section);
}

.theme-dark .about-text {
    color: var(--text);
}

.theme-dark .about-feature span {
    color: var(--text);
}

.theme-dark .about-feature i {
    color: var(--primary);
}

.theme-dark .about-stats-card {
    background-color: var(--bg-alt);
    border: 1px solid var(--border);
}

.theme-dark .about-stat-number {
    color: #fff;
}

.theme-dark .about-stat-text {
    color: var(--text);
}

/* ===== FAQ Section ===== */
.theme-dark .faq-item {
    background-color: var(--bg-alt);
    border: 1px solid var(--border);
}

.theme-dark .faq-item:hover {
    border-color: var(--primary);
}

.theme-dark .faq-question {
    color: #fff;
}

.theme-dark .faq-question i {
    color: var(--text-light);
}

.theme-dark .faq-item.active .faq-question i {
    color: var(--primary);
}

.theme-dark .faq-answer {
    color: var(--text);
    border-top-color: var(--border);
}

/* ===== CTA Section ===== */
.theme-dark .cta-card {
    background: linear-gradient(135deg, var(--bg-alt) 0%, var(--bg) 100%);
    border: 1px solid var(--border);
}

.theme-dark .cta-content h2 {
    color: #fff;
}

.theme-dark .cta-content p {
    color: var(--text);
}

/* ===== Contact Section ===== */
.theme-dark .contact-info-card {
    background-color: var(--bg-alt);
    border: 1px solid var(--border);
}

.theme-dark .contact-info-card:hover {
    border-color: var(--primary);
}

.theme-dark .contact-info-card h3 {
    color: #fff;
}

.theme-dark .contact-info-card p,
.theme-dark .contact-info-card a {
    color: var(--text);
}

.theme-dark .contact-info-icon {
    background-color: rgba(var(--primary-rgb), 0.12);
    color: var(--primary);
}

.theme-dark .contact-form {
    background-color: var(--bg-alt);
    border: 1px solid var(--border);
}

.theme-dark .contact-form h3 {
    color: #fff;
}

.theme-dark .contact-form label {
    color: var(--text);
}

.theme-dark .contact-form input,
.theme-dark .contact-form textarea {
    background-color: var(--bg);
    color: #fff;
    border: 1px solid var(--border);
}

.theme-dark .contact-form input::placeholder,
.theme-dark .contact-form textarea::placeholder {
    color: var(--text-light);
}

.theme-dark .contact-form input:focus,
.theme-dark .contact-form textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.15);
}

/* ===== Footer ===== */
.theme-dark .footer {
    background-color: #0a0b0e;
    border-top: 1px solid var(--border);
}

.theme-dark .footer-brand h4,
.theme-dark .footer-brand .logo-name {
    color: #fff;
}

.theme-dark .footer-about {
    color: var(--text);
}

.theme-dark .footer-links h4,
.theme-dark .footer-contact h4 {
    color: #fff;
}

.theme-dark .footer-links li a,
.theme-dark .footer-contact li,
.theme-dark .footer-contact a {
    color: var(--text);
}

.theme-dark .footer-links li a:hover,
.theme-dark .footer-contact a:hover {
    color: var(--primary);
}

.theme-dark .footer-contact li i {
    color: var(--primary);
}

.theme-dark .footer-bottom {
    background-color: #0a0b0e;
    border-top: 1px solid var(--border);
}

.theme-dark .footer-bottom p,
.theme-dark .footer-bottom a {
    color: var(--text);
}

.theme-dark .footer-bottom a:hover {
    color: var(--primary);
}

/* ===== Auth Modal ===== */
.theme-dark .auth-overlay {
    background-color: rgba(0, 0, 0, 0.75);
}

.theme-dark .auth-modal {
    background-color: var(--bg-alt);
    border: 1px solid var(--border);
    box-shadow: var(--shadow-xl);
}

.theme-dark .auth-header h2 {
    color: #fff;
}

.theme-dark .auth-header p {
    color: var(--text);
}

.theme-dark .auth-logo {
    background-color: rgba(var(--primary-rgb), 0.15);
    color: var(--primary);
}

.theme-dark .login-tab {
    background-color: var(--bg);
    color: var(--text);
    border: 1px solid var(--border);
}

.theme-dark .login-tab.active {
    background-color: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

.theme-dark .auth-form label {
    color: var(--text);
}

.theme-dark .auth-form input {
    background-color: var(--bg);
    color: #fff;
    border: 1px solid var(--border);
}

.theme-dark .auth-form input::placeholder {
    color: var(--text-light);
}

.theme-dark .auth-form input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.15);
}

.theme-dark .input-icon-wrap i {
    color: var(--text-light);
}

.theme-dark .otp-input {
    background-color: var(--bg);
    color: #fff;
    border: 2px solid var(--border);
}

.theme-dark .otp-input:focus,
.theme-dark .otp-input.filled {
    border-color: var(--primary);
}

.theme-dark .auth-footer a,
.theme-dark .auth-footer p {
    color: var(--text);
}

.theme-dark .auth-footer a:hover {
    color: var(--primary);
}

/* ===== Buttons ===== */
.theme-dark .btn-primary {
    background-color: var(--primary);
    color: #fff;
}

.theme-dark .btn-primary:hover {
    background-color: var(--primary-dark);
}

.theme-dark .btn-outline {
    color: var(--text);
    border: 1px solid var(--border);
}

.theme-dark .btn-outline:hover {
    color: #fff;
    border-color: var(--primary);
    background-color: var(--primary);
}

.theme-dark .btn-white {
    color: var(--primary-dark);
}

.theme-dark .btn-outline-white {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.theme-dark .btn-outline-white:hover {
    background-color: #fff;
    color: var(--primary);
}

/* ===== Scrollbar ===== */
.theme-dark ::-webkit-scrollbar {
    width: 8px;
}

.theme-dark ::-webkit-scrollbar-track {
    background: var(--bg);
}

.theme-dark ::-webkit-scrollbar-thumb {
    background: var(--border);
    border-radius: 4px;
}

.theme-dark ::-webkit-scrollbar-thumb:hover {
    background: var(--primary);
}

/* ===== Scroll To Top ===== */
.theme-dark .scroll-top {
    background-color: var(--primary);
    color: #fff;
    box-shadow: var(--shadow-lg);
}

.theme-dark .scroll-top:hover {
    background-color: var(--primary-dark);
}

/* ===== Notification Toast ===== */
.theme-dark .toast-notification,
.theme-dark #toast-container > div {
    background-color: var(--bg-alt) !important;
    border: 1px solid var(--border) !important;
    color: #fff !important;
}

/* ===== Preloader ===== */
.theme-dark #preloader {
    background-color: var(--bg);
}

.theme-dark .loader-text {
    color: var(--primary);
}

/* ===== Theme Toggle Button (Header) ===== */
.theme-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid var(--border, #e2e8f0);
    background-color: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    color: var(--heading, #1d2630);
    font-size: 1.1rem;
    padding: 0;
    flex-shrink: 0;
}

.theme-toggle-btn:hover {
    border-color: var(--primary, #04a9f5);
    color: var(--primary, #04a9f5);
    transform: rotate(15deg);
}

.theme-toggle-btn .sun-icon,
.theme-toggle-btn .moon-icon {
    display: none;
    line-height: 1;
}

/* حالت پیش‌فرض (light): نشان دادن moon (برای رفتن به dark) */
.theme-toggle-btn .moon-icon {
    display: inline-block;
}

.theme-toggle-btn .sun-icon {
    display: none;
}

/* در حالت دارک: نشان دادن sun (برای رفتن به light) */
.theme-dark .theme-toggle-btn .moon-icon {
    display: none;
}

.theme-dark .theme-toggle-btn .sun-icon {
    display: inline-block;
}

.theme-dark .theme-toggle-btn {
    border-color: var(--border);
    color: #fff;
}

.theme-dark .theme-toggle-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
}

/* در موبایل: دکمه تم هم در menu نمایش داده شود */
.mobile-theme-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background-color: transparent;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius-md, 12px);
    color: var(--heading, #1d2630);
    cursor: pointer;
    width: 100%;
    margin-bottom: 12px;
    transition: all 0.3s ease;
}

.mobile-theme-toggle:hover {
    border-color: var(--primary, #04a9f5);
}

.theme-dark .mobile-theme-toggle {
    color: #fff;
}

/* ===== Tariff Catalog Cover (Special) ===== */
.theme-dark .tariff-cover-label {
    color: #fff;
}

/* ===== Misc text colors ===== */
.theme-dark strong {
    color: #fff;
}

.theme-dark p {
    color: var(--text);
}

.theme-dark h1, .theme-dark h2, .theme-dark h3,
.theme-dark h4, .theme-dark h5, .theme-dark h6 {
    color: #fff;
}

/* ===== Input fields global dark ===== */
.theme-dark input[type="text"],
.theme-dark input[type="email"],
.theme-dark input[type="tel"],
.theme-dark input[type="password"],
.theme-dark input[type="number"],
.theme-dark textarea,
.theme-dark select {
    color-scheme: dark;
}
