/*
Theme Name: fekro
Theme URI: https://example.com
Author: Your Name
Description: قالب اختصاصی فروشگاهی کامپیوتر با کارت‌های متحرک، ابزار 3D، سیستم رنگ کاملاً قابل‌شخصی‌سازی و سبک تکنولوژیک/گیمینگ
Version: 1.1.0
Text Domain: tech-card-theme
*/

/* ==========================================================================
   🎨 مقادیر پیش‌فرض توکن‌ها
   ========================================================================== */
:root {
    --primary-color: #2563eb;
    --primary-hover: #1d4ed8;
    --neon-glow: #3b82f6;
    --bg-color: #f8fafc;
    --card-bg: #ffffff;
    --surface-dark: #1e293b;
    --text-color: #0f172a;
    --text-muted: #64748b;
    --border-color: #e2e8f0;
    --heading-color: #0f172a;
    --price-color: #2563eb;
    --rating-color: #f59e0b;
    --sale-badge-bg: #ef4444;
    --success-color: #16a34a;
    --error-color: #dc2626;
    --neon-intensity: 12px;
    --neon-glow-strong: rgba(59, 130, 246, 0.55);
    --neon-glow-soft: rgba(59, 130, 246, 0.30);
    --card-radius: 16px;
    --img-radius: 12px;
    --main-font: 'Vazirmatn', sans-serif;
    --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ریست اولیه */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: var(--bg-color);
    color: var(--text-color);
    font-family: var(--main-font);
    direction: rtl;
    text-align: start;
    line-height: 1.6;
    overflow-x: hidden;
}

a {
    color: var(--primary-color);
    transition: var(--transition-smooth);
}

a:hover {
    color: var(--primary-hover);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--heading-color);
}

/* گرد شدن مستقیم عکس‌ها */
img,
a img,
.tech-card img,
.woocommerce img,
.woocommerce a img,
.woocommerce-LoopProduct-link img,
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img,
.woocommerce div.product div.images img,
.attachment-woocommerce_thumbnail {
    border-radius: 12px !important;
    overflow: hidden !important;
    object-fit: cover !important;
}

/* ==========================================================================
   🧊 استایل‌های پاسخ‌گرا با aspect-ratio برای مدل‌های ۳بعدی
   ========================================================================== */
.tech-card {
    background: var(--card-bg);
    border-radius: var(--card-radius);
    padding: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid var(--border-color);
    position: relative;
    z-index: 1;
}

.tech-card:hover {
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1), 0 0 var(--neon-intensity) var(--neon-glow-soft);
    border-color: var(--primary-color);
}

/* محفظه پاسخ‌گرا با نسبت تصویر ۴ به ۳ برای کارت‌های دسته‌بندی */
.cat-3d-wrapper {
    width: 100% !important;
    height: 220px !important;
    position: relative !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-bottom: 15px;
    background: rgba(0, 0, 0, 0.02);
    display: block !important;
}

.cat-3d-wrapper model-viewer {
    width: 100% !important;
    height: 220px !important;
    display: block !important;
}

.single-3d-wrapper {
    width: 100% !important;
    height: 350px !important;
    position: relative !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    z-index: 1 !important;
    display: block !important;
}

.single-3d-wrapper model-viewer {
    width: 100% !important;
    height: 350px !important;
    display: block !important;
}


/* استایل عمومی تگ model-viewer */
model-viewer {
    display: block !important;
    width: 100% !important;
    background-color: transparent;
    --poster-color: transparent;
    border-radius: 12px !important;
    touch-action: pan-y;
    outline: none !important;
    position: relative !important;
    z-index: 1 !important;
}

model-viewer::part(default-canvas) {
    width: 100% !important;
    height: 100% !important;
}

.block-section {
    margin-bottom: 40px;
}

.block-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--heading-color);
}

/* ==========================================================================
   🏰 هدر و ناوبری
   ========================================================================== */
.site-header {
    background: var(--card-bg);
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 15px 0;
}

.header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.site-branding {
    text-align: start;
    display: flex;
    align-items: center;
}

.primary-menu {
    display: flex;
    align-items: center;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.primary-menu a {
    text-decoration: none;
    color: var(--text-color);
    font-weight: 600;
    font-size: 0.95rem;
    transition: var(--transition-smooth);
}

.primary-menu a:hover {
    color: var(--primary-color);
}

.primary-menu li {
    position: relative;
}

.primary-menu li ul.sub-menu {
    position: absolute;
    top: 100%;
    inset-inline-start: 0;
    background: var(--card-bg);
    border-radius: 12px;
    padding: 10px 0;
    min-width: 200px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    border: 1px solid var(--border-color);
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: var(--transition-smooth);
    z-index: 100;
}

.primary-menu li:hover ul.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.primary-menu li ul.sub-menu li a {
    padding: 8px 20px;
    display: block;
    font-size: 0.9rem;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.cart-icon-btn, .account-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 14px;
    background: var(--bg-color);
    border-radius: 10px;
    text-decoration: none;
    color: var(--text-color);
    transition: var(--transition-smooth);
    border: none;
    cursor: pointer;
    font-family: var(--main-font);
    font-size: 0.95rem;
    white-space: nowrap;
    line-height: 1.2;
}

.btn-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    background: rgba(0, 0, 0, 0.06);
    border-radius: 8px;
    transition: var(--transition-smooth);
}

.cart-icon-btn .btn-text,
.account-btn .btn-text,
.cart-icon-btn > span:not(.cart-count):not(.btn-icon-wrap),
.account-btn > span:not(.cart-count):not(.btn-icon-wrap) {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
}

.cart-icon-btn svg,
.account-btn svg,
.cart-icon-btn .btn-icon-wrap svg,
.account-btn .btn-icon-wrap svg {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    display: block;
}

.cart-icon-btn:hover, .account-btn:hover {
    background: var(--primary-color);
    color: #fff;
}

.cart-icon-btn:hover .btn-icon-wrap,
.account-btn:hover .btn-icon-wrap {
    background: rgba(255, 255, 255, 0.2);
}

.account-register-btn {
    background-image: linear-gradient(135deg, var(--primary-color), var(--neon-glow));
    color: #fff;
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
}

.account-register-btn .btn-icon-wrap {
    background: rgba(255, 255, 255, 0.18);
}

.account-register-btn:hover {
    background-image: linear-gradient(135deg, var(--neon-glow), var(--primary-color));
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 0 calc(var(--neon-intensity) * 1.5) var(--neon-glow-strong);
}

.account-register-btn:hover .btn-icon-wrap {
    background: rgba(255, 255, 255, 0.28);
}

/* پاپ‌آپ مودال جستجو */
.search-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(5px);
    z-index: 99998;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-smooth);
}

.search-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.search-modal-card {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%);
    width: 90%;
    max-width: 600px;
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-smooth);
    padding: 30px !important;
}

.search-modal-card.active {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%);
}

.search-modal-card input.search-field,
.mobile-drawer input.search-field {
    width: 100%;
    padding: 12px 18px;
    border-radius: 10px !important;
    border: 1px solid var(--border-color);
    outline: none;
    font-family: var(--main-font);
    font-size: 0.95rem;
    background: var(--card-bg);
    color: var(--text-color);
}

/* دکمه همبرگری و منوی کشویی موبایل */
.mobile-menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    background: var(--bg-color);
    border: none;
    font-size: 1.4rem;
    padding: 8px 12px;
    border-radius: 10px;
    cursor: pointer;
    color: var(--text-color);
    line-height: 1;
    width: 42px;
    height: 42px;
}

.mobile-drawer {
    position: fixed;
    top: 0;
    inset-inline-start: -320px;
    inset-inline-end: auto;
    width: 300px;
    height: 100vh;
    background: var(--card-bg);
    box-shadow: 5px 0 25px rgba(0,0,0,0.15);
    z-index: 9999;
    padding: 25px 20px;
    transition: var(--transition-smooth);
    overflow-y: auto;
}

.mobile-drawer.active {
    inset-inline-start: 0;
}

.mobile-drawer-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(15, 23, 42, 0.5);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-smooth);
}

.mobile-drawer-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* استایل منوی کشویی موبیل — لینکهای کارتی هماهنگ بدون خط زیر */
.mobile-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-menu > li {
    margin-bottom: 8px;
}

.mobile-menu li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 10px;
    background: var(--bg-color);
    border: 1px solid var(--border-color);
    color: var(--text-color);
    text-decoration: none !important;
    font-weight: 600;
    font-size: 0.95rem;
    transition: var(--transition-smooth);
}

.mobile-menu li a:hover {
    background: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
}

.mobile-menu li.current-menu-item > a,
.mobile-menu li.current_page_item > a,
.mobile-menu li.current-menu-ancestor > a {
    background-image: linear-gradient(135deg, var(--primary-color), var(--neon-glow));
    color: #fff;
    border-color: var(--primary-color);
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
}

.mobile-menu .sub-menu {
    list-style: none;
    margin: 6px 0 10px 0;
    padding: 0;
}

.mobile-menu .sub-menu > li {
    margin-bottom: 6px;
    padding-inline-start: 12px;
    border-inline-start: 2px solid var(--primary-color);
}

.mobile-menu .sub-menu li a {
    background: transparent;
    border: none;
    font-size: 0.88rem;
    padding: 10px 14px;
}

.mobile-menu .sub-menu li a:hover {
    background: var(--bg-color);
    color: var(--primary-color);
    box-shadow: none;
}

.tech-card-3d,
.tech-card:has(.cat-3d-wrapper),
.tech-card:has(.single-3d-wrapper) {
    transform: none !important;
    transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
}


@media (hover: hover) and (pointer: fine) {
    .tech-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1), 0 0 var(--neon-intensity) var(--neon-glow-soft);
        border-color: var(--primary-color);
    }
}


@media (hover: hover) and (pointer: fine) {
    .tech-card-3d:hover,
    .tech-card:has(.cat-3d-wrapper):hover,
    .tech-card:has(.single-3d-wrapper):hover {
        transform: none !important;
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15), 0 0 var(--neon-intensity) var(--neon-glow-strong) !important;
        border-color: var(--primary-color) !important;
    }
}

@media (hover: none) {
    .tech-card:active {
        transform: none !important;
    }
}

@media (max-width: 992px) {
    .main-navigation,
    .header-actions .account-btn .btn-text,
    .header-actions .header-search-btn .btn-text {
        display: none !important;
    }

    .mobile-menu-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    .site-branding {
        text-align: start !important;
        justify-content: flex-start !important;
    }

    .site-branding img,
    .custom-logo {
        margin-inline-end: 0 !important;
    }
}

/* ==========================================================================
   🛒 ووکامرس
   ========================================================================== */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
    padding: 0;
    margin: 0;
    list-style: none;
}

/* ==========================================================================
   اسلایدر «محصولات مشابه» و «پیشنهادهای ویژه» صفحه محصول
   پیاده‌سازی با CSS خالص (flex + scroll-snap) — بدون وابستگی به JS
   تضمین: کارت‌ها در هر حالتی (حتی بدون جاوااسکریپت) عرض درست دارند
   ========================================================================== */
.related-slider {
    position: relative;
}

.related-track {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 10px 5px 20px;
    scrollbar-width: none;              /* مخفی کردن اسکرول‌بار (فایرفاکس) */
    -webkit-overflow-scrolling: touch;  /* اسکرول نرم در iOS */
}

.related-track::-webkit-scrollbar {
    display: none;                      /* مخفی کردن اسکرول‌بار (کروم) */
}

/* عرض کارت‌ها: دسکتاپ ۴ عدد، تبلت ۳ عدد، موبایل بزرگ ۲ عدد، موبایل کوچک ۱.۲ عدد */
.related-slide {
    flex: 0 0 calc((100% - 60px) / 4);
    scroll-snap-align: start;
}

@media (max-width: 1024px) {
    .related-slide {
        flex-basis: calc((100% - 40px) / 3);
    }
}

@media (max-width: 768px) {
    .related-slide {
        flex-basis: calc((100% - 20px) / 2);
    }
}

@media (max-width: 480px) {
    .related-slide {
        flex-basis: 82%;
    }
}

/* کارت محصول */
.related-slider .tech-product-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: var(--card-radius);
    padding: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    transition: var(--transition-smooth);
}

.related-slider .tech-product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1), 0 0 var(--neon-intensity) var(--neon-glow-soft);
    border-color: var(--primary-color);
}

.related-slider .tech-product-card h4 a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* دکمه افزودن به سبد داخل اسلایدر، تمام‌عرض کارت باشد */
.related-slider .tech-product-card .button {
    width: 100%;
}

/* دکمه‌های ناوبری فلشی (فقط بهبود اختیاری — اسلایدر بدون آن‌ها هم با
   کشیدن موس/انگشت کار می‌کند) */
.rs-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: var(--surface-dark);
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
    transition: var(--transition-smooth);
}

.rs-nav:hover {
    background-image: linear-gradient(135deg, var(--primary-color), var(--neon-glow));
}

.rs-nav-next {
    inset-inline-end: 8px;
}

.rs-nav-prev {
    inset-inline-start: 8px;
}

/* در موبایل دکمه‌ها مخفی شوند (ناوبری با کشیدن انگشت) */
@media (max-width: 640px) {
    .rs-nav {
        display: none;
    }
}

/* ==========================================================================
   🔖 ابزار دسته‌بندی کوچک (عکس شناور)
   کارت‌های گرد با عکسی که از بالای باکس بیرون می‌زند
   ========================================================================== */
.small-cat-row {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scrollbar-width: none;              /* مخفی کردن اسکرول‌بار (فایرفاکس) */
    -webkit-overflow-scrolling: touch;
    padding: 6px 2px 10px;
}

.small-cat-row::-webkit-scrollbar {
    display: none;                      /* مخفی کردن اسکرول‌بار (کروم) */
}

.small-cat-card {
    flex: 0 0 auto;
    width: 170px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 18px;
    padding: 0 10px 14px;
    transition: var(--transition-smooth);
}

.small-cat-card:hover {
    transform: translateY(-4px);
    border-color: var(--primary-color);
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
}

.small-cat-card__img {
    display: flex;
    align-items: center;
    justify-content: center;
    /* فاصله بین عکس شناور و عنوان ثابت بماند */
    margin-bottom: 6px;
}

.small-cat-card__img img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 12px !important;     /* برای عکس‌های با پس‌زمینه سفید، قاب گرد ملایم */
    margin: 0 !important;
    filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.35));  /* حس شناور بودن عکس */
}

.small-cat-card__placeholder {
    font-size: 2rem;
    opacity: 0.6;
}

.small-cat-card__title {
    margin-top: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--heading-color);
    text-align: center;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .small-cat-card {
        width: 140px;
    }
}

.woocommerce ul.products li.product {
    background: var(--card-bg);
    border-radius: var(--card-radius);
    padding: 20px;
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    transition: var(--transition-smooth);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1), 0 0 var(--neon-intensity) var(--neon-glow-soft);
    border-color: var(--primary-color);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1rem;
    font-weight: 700;
    margin: 12px 0;
    color: var(--heading-color);
}

.woocommerce ul.products li.product .price {
    color: var(--price-color);
    font-weight: 800;
    font-size: 1.1rem;
    margin-bottom: 15px;
}

.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
    background: var(--sale-badge-bg) !important;
    color: #fff !important;
    border-radius: 10px !important;
    font-family: var(--main-font) !important;
    font-weight: 700 !important;
    padding: 4px 14px !important;
    min-height: auto !important;
    line-height: 1.6 !important;
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
    z-index: 2;
}

.woocommerce ul.products li.product .out-of-stock-button,
.woocommerce ul.products li.product .stock,
.out-of-stock {
    color: var(--error-color) !important;
    font-weight: 700;
}

.woocommerce li.product-type-external.outofstock::before,
.woocommerce ul.products li.product.outofstock::after {
    content: "ناموجود";
    position: absolute;
    top: 12px;
    inset-inline-end: 12px;
    background: var(--error-color);
    color: #fff;
    border-radius: 10px;
    padding: 4px 14px;
    font-size: 0.8rem;
    font-weight: 700;
    z-index: 2;
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background-image: linear-gradient(135deg, var(--primary-color), var(--neon-glow)) !important;
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    padding: 10px 20px !important;
    border-radius: 10px !important;
    font-family: var(--main-font) !important;
    font-weight: 600 !important;
    border: none !important;
    transition: var(--transition-smooth) !important;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft) !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background-color: var(--primary-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 0 calc(var(--neon-intensity) * 1.5) var(--neon-glow-strong) !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
    background-image: none !important;
    background-color: var(--surface-dark) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    background-color: var(--primary-color) !important;
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft) !important;
}

.woocommerce a.button.loading,
.woocommerce button.button.loading {
    opacity: 0.7;
    cursor: not-allowed;
}

.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce button.button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
}

.woocommerce div.product {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 50px;
}

.woocommerce div.product div.images {
    flex: 1 1 450px;
    background: var(--card-bg);
    border-radius: var(--card-radius);
    padding: 20px;
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.woocommerce div.product div.summary {
    flex: 1 1 450px;
    background: var(--card-bg);
    border-radius: var(--card-radius);
    padding: 30px;
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.woocommerce div.product .product_title {
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 15px;
    color: var(--heading-color);
    line-height: 1.4;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: 1.6rem;
    color: var(--price-color) !important;
    font-weight: 800;
    margin-bottom: 20px;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    color: var(--text-muted) !important;
    opacity: 0.7;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    color: var(--price-color) !important;
    text-decoration: none;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.8;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border-color);
}

.woocommerce div.product form.cart {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
}

.woocommerce div.product form.cart .quantity input.qty {
    width: 70px;
    padding: 10px;
    border: 1px solid var(--border-color);
    border-radius: 10px !important;
    text-align: center;
    font-family: var(--main-font);
    font-weight: 700;
    font-size: 1rem;
    background: var(--card-bg);
    color: var(--text-color);
}

.woocommerce div.product .product_meta {
    border-top: 1px solid var(--border-color);
    padding-top: 20px;
    margin-top: 20px;
    font-size: 0.9rem;
    color: var(--text-muted);
}

.woocommerce div.product .product_meta span {
    display: block;
    margin-bottom: 8px;
}

.woocommerce div.product .product_meta a {
    color: var(--primary-color);
    text-decoration: none;
}

.woocommerce .related,
.woocommerce .upsells {
    margin-top: 50px;
    /* والد صفحه محصول flex است؛ بدون این سه خط، بخش مشابه‌ها اجازه
       کوچک‌شدن پیدا نمی‌کند و ترک اسلایدر از صفحه بیرون می‌زند */
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.woocommerce .related > h2,
.woocommerce .upsells > h2 {
    font-size: 1.4rem;
    font-weight: 800;
    margin-bottom: 25px;
    color: var(--heading-color);
}

.woocommerce div.product .woocommerce-tabs {
    width: 100%;
    margin-top: 40px;
    background: var(--card-bg);
    border-radius: var(--card-radius);
    padding: 30px;
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 2px solid var(--border-color);
    padding: 0;
    margin: 0 0 25px 0;
    display: flex;
    gap: 15px;
    list-style: none;
    overflow-x: auto;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-bottom: 3px solid transparent !important;
    padding: 12px 20px !important;
    border-radius: 0 !important;
    margin: 0 !important;
    font-family: var(--main-font) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-weight: 700;
    font-size: 1rem;
    color: var(--text-color) !important;
    text-decoration: none;
}

.woocommerce div.product .woocommerce-tabs .panel {
    color: var(--text-color);
    font-size: 0.95rem;
    line-height: 1.9;
}

.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3 {
    color: var(--heading-color);
    margin-bottom: 15px;
}

/* 📱 موبایل: حذف طراحی «باکس توی باکس» — فقط یک باکس تمام‌عرض بماند */
@media (max-width: 768px) {

    /* کارت بیرونی صفحه محصول: پدینگ کمتر تا محتوا تمام‌عرض شود
       (با !important چون padding به صورت inline در قالب ست شده) */
    .woocommerce-page-card {
        padding: 12px !important;
        margin-bottom: 20px !important;
        min-height: auto !important;
    }

    /* لایه دوم: کروم کارتِ wrapper تب‌ها حذف شود */
    .woocommerce div.product .woocommerce-tabs {
        background: transparent;
        border: none;
        box-shadow: none;
        padding: 0;
        margin-top: 25px;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li {
        padding: 10px 12px !important;
    }

    /* پنل تب: کاملاً بدون باکس — محتوا مستقیم داخل کارت اصلی صفحه و تمام‌عرض */
    .woocommerce div.product .woocommerce-tabs .panel {
        background: transparent;
        border: none;
        box-shadow: none;
        padding: 0;
    }

    /* دیدگاه‌ها: بدون باکس جدا برای هر دیدگاه — فقط خط جداکننده */
    .woocommerce #reviews #comments ol.commentlist li {
        background: none;
        border: none;
        border-bottom: 1px solid var(--border-color);
        border-radius: 0;
        padding: 14px 0;
        margin-bottom: 0;
    }

    .woocommerce #reviews #comments ol.commentlist li:last-child {
        border-bottom: none;
        padding-bottom: 4px;
    }

    /* لایه‌های داخلی فرم دیدگاه: کاملاً تخت، بدون قاب اضافه */
    .woocommerce #reviews #review_form,
    .woocommerce #reviews .comment-respond,
    .woocommerce #reviews #respond,
    .woocommerce #reviews .comment-form {
        background: none;
        border: none;
        box-shadow: none;
        padding: 0;
        margin-top: 18px;
    }

    /* فاصله بخش مشابه‌ها در موبایل کمتر شود */
    .woocommerce .related,
    .woocommerce .upsells {
        margin-top: 30px;
    }
}


.woocommerce table.shop_attributes {
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
    border-collapse: collapse;
    width: 100%;
}

.woocommerce table.shop_attributes th {
    background: var(--bg-color);
    color: var(--heading-color);
    font-weight: 700;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
}

.woocommerce table.shop_attributes td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-color);
}

.woocommerce table.shop_attributes tr:last-child th,
.woocommerce table.shop_attributes tr:last-child td {
    border-bottom: none;
}

.woocommerce #reviews #comments ol.commentlist {
    padding: 0;
    list-style: none;
}

.woocommerce #reviews #comments ol.commentlist li {
    background: var(--bg-color);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 15px;
    border: 1px solid var(--border-color);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
    margin: 0;
    padding: 0;
    border: none;
}

.woocommerce #reviews #comments ol.commentlist li .meta {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 10px;
}

.woocommerce .star-rating {
    color: var(--rating-color) !important;
    font-size: 1rem;
}

.woocommerce p.stars a {
    color: var(--rating-color) !important;
}

.woocommerce #review_form #respond {
    background: var(--bg-color);
    padding: 25px;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    margin-top: 30px;
}

.woocommerce #review_form #respond .comment-reply-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 15px;
    display: block;
    color: var(--heading-color);
}

.woocommerce #review_form #respond label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--text-color);
}

/* ==========================================================================
   🛒 سبد خرید و تسویه حساب
   ========================================================================== */
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row input[type="number"],
.woocommerce form .form-row input[type="search"],
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .form-row select,
.woocommerce-checkout .input-text {
    width: 100%;
    padding: 12px 16px !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 10px !important;
    background: var(--card-bg) !important;
    color: var(--text-color) !important;
    font-family: var(--main-font) !important;
    font-size: 0.95rem !important;
    outline: none;
    transition: var(--transition-smooth);
    box-shadow: none !important;
}

.woocommerce form .form-row input[type="text"]:focus,
.woocommerce form .form-row input[type="email"]:focus,
.woocommerce form .form-row input[type="tel"]:focus,
.woocommerce form .form-row input[type="password"]:focus,
.woocommerce form .form-row input[type="number"]:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft) !important;
}

.woocommerce form .form-row label {
    color: var(--text-color);
    font-weight: 600;
    margin-bottom: 6px;
    display: block;
}

.woocommerce form .form-row label .required {
    color: var(--error-color);
}

.woocommerce table.shop_table {
    border: 1px solid var(--border-color) !important;
    border-radius: var(--card-radius) !important;
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0;
    background: var(--card-bg);
}

.woocommerce table.shop_table th {
    background: var(--surface-dark) !important;
    color: #fff !important;
    font-weight: 700 !important;
    padding: 14px 16px !important;
    border: none !important;
    text-align: start;
}

.woocommerce table.shop_table td {
    padding: 16px !important;
    border-top: 1px solid var(--border-color) !important;
    border-bottom: none !important;
    border-inline-start: none !important;
    border-inline-end: none !important;
    color: var(--text-color);
    text-align: start;
}

.woocommerce table.shop_table tr:last-child td {
    border-bottom: none !important;
}

.woocommerce table.shop_table a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 600;
}

.woocommerce table.shop_table .product-name a:hover,
.woocommerce table.shop_table a:hover {
    color: var(--neon-glow);
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info {
    border-top-color: var(--primary-color);
}

.woocommerce-cart table.cart .product-thumbnail img {
    width: 70px;
    height: 70px;
    border-radius: 10px !important;
    object-fit: cover;
}

.woocommerce-cart table.cart .product-quantity .qty {
    width: 60px !important;
    padding: 8px !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    text-align: center;
    background: var(--card-bg);
    color: var(--text-color);
}

.woocommerce-cart table.cart a.remove,
.woocommerce a.remove {
    background: var(--error-color) !important;
    color: #fff !important;
    width: 24px !important;
    height: 24px !important;
    line-height: 22px !important;
    border-radius: 50% !important;
    font-size: 0.9rem !important;
    transition: var(--transition-smooth);
}

.woocommerce-cart table.cart a.remove:hover,
.woocommerce a.remove:hover {
    background: var(--text-color) !important;
    transform: scale(1.1);
}

.woocommerce .coupon input.input-text {
    width: auto !important;
    min-width: 160px;
    display: inline-block;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce .cart-collaterals .cross-sells {
    width: 100%;
}

.woocommerce .cart_totals h2,
.woocommerce .cross-sells > h2,
.woocommerce .cart-collaterals h2 {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: var(--heading-color) !important;
    margin-bottom: 20px !important;
}

.woocommerce .cart_totals .shop_table {
    margin-bottom: 20px;
}

.woocommerce .cart_totals .shop_table td,
.woocommerce .cart_totals .shop_table th {
    padding: 14px 16px !important;
}

.woocommerce .cart_totals .order-total td,
.woocommerce .cart_totals .order-total th {
    background: var(--bg-color);
    font-size: 1.1rem !important;
    font-weight: 800 !important;
}

.woocommerce .cart_totals .order-total td .amount {
    color: var(--price-color);
}

.woocommerce-cart .cart input.button,
.woocommerce-cart input.button[name="update_cart"] {
    background-color: var(--text-muted) !important;
    background-image: none !important;
    box-shadow: none !important;
}

.woocommerce-cart .checkout-button,
.woocommerce a.checkout-button {
    background-image: linear-gradient(135deg, var(--primary-color), var(--neon-glow)) !important;
    background-color: var(--primary-color) !important;
    color: #fff !important;
    padding: 14px 24px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    border-radius: 12px !important;
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft) !important;
}

.woocommerce-cart .checkout-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 calc(var(--neon-intensity) * 1.5) var(--neon-glow-strong) !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
#ship-to-different-address label {
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    color: var(--heading-color) !important;
    margin-bottom: 20px !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single {
    border: 1px solid var(--border-color) !important;
    border-radius: 10px !important;
    padding: 8px 12px;
    background: var(--card-bg);
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--text-color);
}

#add_payment_method #payment,
.woocommerce-checkout #payment {
    background: var(--bg-color);
    border-radius: var(--card-radius);
    border: 1px solid var(--border-color);
}

#add_payment_method #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    padding: 20px;
    border-bottom: 1px solid var(--border-color);
}

#add_payment_method #payment ul.payment_methods li,
.woocommerce-checkout #payment ul.payment_methods li {
    margin-bottom: 12px;
    color: var(--text-color);
}

#add_payment_method #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    background: var(--card-bg);
    border-radius: 10px;
    padding: 12px;
    margin: 10px 0;
    color: var(--text-muted);
}

#add_payment_method #payment div.place-order,
.woocommerce-checkout #payment div.form-row {
    padding: 20px;
}

#order_review_heading,
.woocommerce-checkout-review-order {
    margin-top: 30px;
}

.woocommerce-account .woocommerce {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register {
    border: 1px solid var(--border-color) !important;
    border-radius: var(--card-radius) !important;
    padding: 30px !important;
    background: var(--card-bg);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    max-width: 480px;
    margin: 0 auto;
}

.woocommerce form.login h2,
.woocommerce form.register h2,
.woocommerce-account h2 {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: var(--heading-color) !important;
    margin-bottom: 20px !important;
}

.woocommerce-account .u-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
    margin-top: 20px;
}

.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 30px;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: var(--card-radius);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    transition: var(--transition-smooth);
}

.woocommerce-account .u-columns .u-column1:hover,
.woocommerce-account .u-columns .u-column2:hover {
    border-color: var(--primary-color);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1), 0 0 var(--neon-intensity) var(--neon-glow-soft);
}

.woocommerce-account .u-columns h2 {
    font-size: 1.3rem !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--border-color);
    display: flex;
    align-items: center;
    gap: 8px;
}

.woocommerce-account .u-columns .u-column2 {
    position: relative;
    overflow: hidden;
}

.woocommerce-account .u-columns .u-column2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background-image: linear-gradient(90deg, var(--primary-color), var(--neon-glow));
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
}

.woocommerce-account .u-columns form.login,
.woocommerce-account .u-columns form.register,
.woocommerce-account .u-columns form.woocommerce-form-login,
.woocommerce-account .u-columns form.woocommerce-form-register {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    max-width: none !important;
    margin: 0 !important;
}

.woocommerce-account .u-columns form.login .form-row,
.woocommerce-account .u-columns form.register .form-row,
.woocommerce-account .u-columns form.woocommerce-form-login .form-row,
.woocommerce-account .u-columns form.woocommerce-form-register .form-row {
    margin-bottom: 15px;
}

.woocommerce form.login .form-row,
.woocommerce form.login .lost_password,
.woocommerce form.login .woocommerce-LostPassword {
    margin-bottom: 15px;
}

.woocommerce form.login .woocommerce-form-login__rememberme {
    color: var(--text-muted);
}

.woocommerce form.login .lost_password a,
.woocommerce .woocommerce-LostPassword a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 250px;
    background: var(--card-bg);
    border-radius: var(--card-radius);
    border: 1px solid var(--border-color);
    padding: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin-bottom: 4px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 12px 16px;
    border-radius: 10px;
    color: var(--text-color);
    text-decoration: none;
    font-weight: 600;
    transition: var(--transition-smooth);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--bg-color);
    color: var(--primary-color);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background-image: linear-gradient(135deg, var(--primary-color), var(--neon-glow));
    color: #fff;
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
}

.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
    min-width: 300px;
    background: var(--card-bg);
    border-radius: var(--card-radius);
    border: 1px solid var(--border-color);
    padding: 30px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce-account .woocommerce-MyAccount-content table {
    color: var(--text-color);
}

/* ==========================================================================
   🔔 ۶. اعلان‌ها و المان‌های مشترک
   ========================================================================== */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info {
    background: var(--card-bg);
    border-top: 4px solid var(--primary-color) !important;
    border-radius: var(--card-radius);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    color: var(--text-color);
    padding: 16px 20px !important;
    margin-bottom: 20px !important;
    list-style: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before {
    color: var(--primary-color);
    position: static !important;
    margin-inline-end: 10px;
    top: auto !important;
    inset-inline-start: auto !important;
    font-family: inherit;
    flex-shrink: 0;
}

.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-info a.button {
    padding: 8px 18px !important;
    font-size: 0.9rem !important;
}

.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-error {
    background: var(--card-bg);
    border-top: 4px solid var(--error-color) !important;
    border-radius: var(--card-radius);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    color: var(--error-color);
    padding: 16px 20px !important;
    margin-bottom: 20px !important;
    list-style: none;
}

.woocommerce .woocommerce-error::before {
    color: var(--error-color);
    position: static !important;
    margin-inline-end: 10px;
    top: auto !important;
    inset-inline-start: auto !important;
    font-family: inherit;
    flex-shrink: 0;
}

.woocommerce .woocommerce-message .button.wc-forward,
.woocommerce .woocommerce-info .button.wc-forward {
    background-image: none !important;
    background-color: var(--surface-dark) !important;
    box-shadow: none !important;
}

.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
    color: var(--text-muted);
    margin-bottom: 20px;
    font-size: 0.9rem;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
    margin-bottom: 20px;
}

.woocommerce .woocommerce-ordering select {
    padding: 10px 16px !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 10px !important;
    background: var(--card-bg) !important;
    color: var(--text-color) !important;
    font-family: var(--main-font) !important;
    cursor: pointer;
}

.woocommerce-products-header h1,
.woocommerce .archive-title {
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--heading-color);
    margin-bottom: 25px;
}

.woocommerce-products-header .term-description,
.woocommerce .term-description,
.woocommerce .page-description {
    color: var(--text-muted);
    margin-bottom: 25px;
    line-height: 1.8;
}

.woocommerce nav.woocommerce-pagination {
    margin-top: 40px;
    text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
    border: none !important;
    display: inline-flex;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
    box-shadow: none;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none !important;
    margin: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 12px !important;
    background: var(--card-bg);
    border: 1px solid var(--border-color) !important;
    border-radius: 10px !important;
    color: var(--text-color) !important;
    font-weight: 600;
    transition: var(--transition-smooth);
    text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus {
    background: var(--bg-color);
    border-color: var(--primary-color) !important;
    color: var(--primary-color) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background-image: linear-gradient(135deg, var(--primary-color), var(--neon-glow)) !important;
    color: #fff !important;
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
}

.woocommerce nav.woocommerce-pagination ul li .next,
.woocommerce nav.woocommerce-pagination ul li .prev {
    background: var(--surface-dark);
    color: #fff !important;
}

.woocommerce-products-header__title,
.woocommerce .term-description p:last-child {
    margin-bottom: 0;
}

.woocommerce .woocommerce-no-products-found,
.woocommerce-info.no-products-found {
    text-align: center;
}

.woocommerce div.product div.images .flex-control-thumbs li {
    margin: 6px;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
    border: 2px solid transparent;
    border-radius: 10px !important;
    transition: var(--transition-smooth);
    cursor: pointer;
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
    border-color: var(--primary-color);
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
}

.woocommerce ul.products li.product-category {
    text-align: center;
}

.woocommerce ul.products li.product-category h2,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
    color: var(--heading-color);
    font-weight: 700;
    margin-top: 12px;
}

.woocommerce ul.products li.product-category mark.count {
    background: none;
    color: var(--text-muted);
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
    background: var(--border-color);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    background: var(--primary-color);
}

.woocommerce .widget_price_filter .price_slider_amount .button {
    background-image: none !important;
    background-color: var(--surface-dark) !important;
    box-shadow: none !important;
}

/* ==========================================================================
   ✨ ۷. افکت‌های گیمینگ و ریفاین
   ========================================================================== */
.woocommerce ul.products li.product:hover {
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1), 0 0 var(--neon-intensity) var(--neon-glow-soft);
}

.swiper-button-next,
.swiper-button-prev {
    background: var(--surface-dark);
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    transition: var(--transition-smooth);
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    background-image: linear-gradient(135deg, var(--primary-color), var(--neon-glow));
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-strong);
}

.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 1rem !important;
    color: #fff;
    font-weight: 800;
    text-align: center;
    line-height: 1;
}

.swiper-pagination-bullet {
    background: var(--text-muted) !important;
    opacity: 0.6 !important;
}

.swiper-pagination-bullet-active {
    background: var(--primary-color) !important;
    opacity: 1 !important;
    width: 22px !important;
    border-radius: 6px !important;
}

.woocommerce-account .woocommerce-MyAccount-content a,
.woocommerce-MyAccount-content a {
    color: var(--primary-color);
}

.woocommerce .star-rating span::before {
    color: var(--rating-color) !important;
}

.woocommerce .woocommerce-breadcrumb {
    color: var(--text-muted);
    margin-bottom: 20px;
    font-size: 0.85rem;
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--primary-color);
    text-decoration: none;
}

.woocommerce .woocommerce-breadcrumb a:hover {
    color: var(--neon-glow);
}

.woocommerce-product-gallery__image.single-main-image img,
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img {
    border-radius: 12px !important;
}

.cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    margin-inline-start: 4px;
    background: var(--error-color);
    color: #fff !important;
    border-radius: 50%;
    font-size: 0.75rem;
    font-weight: 700;
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
    line-height: 1;
}

/* ==========================================================================
   💬 ۸. نظرات وبلاگ
   ========================================================================== */
.comments-area {
    margin-top: 40px;
    background: var(--card-bg);
    border-radius: var(--card-radius);
    border: 1px solid var(--border-color);
    padding: 30px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.comments-title,
.comments-area h2.comments-title,
.comments-area h3 {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--heading-color);
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--border-color);
}

.comment-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.comment-list .comment {
    background: var(--bg-color);
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid var(--border-color);
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.comment-list .comment .avatar,
.comment-list .comment img.avatar,
.woocommerce #reviews #comments ol.commentlist .avatar,
.woocommerce #reviews #comments ol.commentlist img.avatar,
.comment_container > .avatar,
.comment_container > img.avatar,
img.avatar.avatar-60.photo,
img.avatar.photo {
    display: none !important;
}

.comment-list .comment .comment-content {
    flex: 1;
    min-width: 0;
}

.woocommerce #reviews #comments ol.commentlist .comment-text,
.comment_container .comment-text {
    margin-inline-start: 0 !important;
    width: 100% !important;
}

.comment-list .comment .comment-content p {
    color: var(--text-color);
    margin-bottom: 10px;
    line-height: 1.8;
    font-size: 0.95rem;
}

.comment-list .comment .comment-author,
.comment-list .comment .comment-author .fn,
.comment-list .comment .comment-author .says {
    color: var(--heading-color);
    font-weight: 700;
    font-size: 1rem;
}

.comment-list .comment .comment-author a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 700;
}

.comment-list .comment .comment-author a:hover {
    color: var(--neon-glow);
}

.comment-list .comment .comment-meta,
.comment-list .comment .comment-metadata {
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-top: 4px;
    margin-bottom: 12px;
}

.comment-list .comment .comment-metadata a {
    color: var(--text-muted);
    text-decoration: none;
}

.comment-list .comment .comment-metadata a:hover {
    color: var(--primary-color);
}

.comment-list .comment .reply {
    margin-top: 10px;
}

.comment-list .comment .reply a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 6px 14px;
    border-radius: 8px;
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    transition: var(--transition-smooth);
}

.comment-list .comment .reply a:hover {
    background: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
}

.comment-list .children {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-top: 15px;
    padding-inline-start: 25px;
    border-inline-start: 3px solid var(--primary-color);
    margin-inline-start: 10px;
}

.comment-list .children .comment {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
}

.comments-area .no-comments,
.comments-area p.nocomments {
    color: var(--text-muted);
    text-align: center;
    padding: 20px;
    font-size: 0.95rem;
}

.comment-navigation,
.nav-links.comment-navigation {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 25px;
}

.comment-navigation a,
.nav-links.comment-navigation a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: var(--card-bg);
    color: var(--primary-color);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    transition: var(--transition-smooth);
}

.comment-navigation a:hover,
.nav-links.comment-navigation a:hover {
    background: var(--primary-color);
    color: #fff;
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft);
}

.comment-respond,
#respond {
    margin-top: 35px;
}

.comment-respond .comment-reply-title,
#respond .comment-reply-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--heading-color);
    margin-bottom: 20px;
}

.comment-respond .comment-reply-title small a,
#respond .comment-reply-title small a {
    color: var(--text-muted);
    font-size: 0.85rem;
    text-decoration: none;
}

.comment-respond .comment-reply-title small a:hover,
#respond .comment-reply-title small a:hover {
    color: var(--primary-color);
}

.comment-respond .comment-form,
#respond .comment-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.comment-respond .comment-form .comment-notes,
#respond .comment-form .comment-notes {
    color: var(--text-muted);
    font-size: 0.85rem;
    margin-bottom: 5px;
}

.comment-respond .comment-form p,
#respond .comment-form p {
    margin-bottom: 0;
}

.comment-respond .comment-form label,
#respond .comment-form label {
    display: block;
    font-weight: 600;
    color: var(--text-color);
    margin-bottom: 6px;
    font-size: 0.95rem;
}

.comment-respond .comment-form label .required,
#respond .comment-form label .required {
    color: var(--error-color);
}

.comment-respond .comment-form input[type="text"],
.comment-respond .comment-form input[type="email"],
.comment-respond .comment-form input[type="url"],
.comment-respond .comment-form textarea,
#respond .comment-form input[type="text"],
#respond .comment-form input[type="email"],
#respond .comment-form input[type="url"],
#respond .comment-form textarea {
    width: 100%;
    padding: 12px 16px !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 10px !important;
    background: var(--card-bg) !important;
    color: var(--text-color) !important;
    font-family: var(--main-font) !important;
    font-size: 0.95rem !important;
    outline: none;
    transition: var(--transition-smooth);
    box-shadow: none !important;
    line-height: 1.6;
}

.comment-respond .comment-form input[type="text"]:focus,
.comment-respond .comment-form input[type="email"]:focus,
.comment-respond .comment-form input[type="url"]:focus,
.comment-respond .comment-form textarea:focus,
#respond .comment-form input[type="text"]:focus,
#respond .comment-form input[type="email"]:focus,
#respond .comment-form input[type="url"]:focus,
#respond .comment-form textarea:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft) !important;
}

.comment-respond .comment-form textarea,
#respond .comment-form textarea {
    min-height: 140px;
    resize: vertical;
}

.comment-respond .comment-form .form-submit,
#respond .comment-form .form-submit {
    margin-top: 5px;
}

.comment-respond .comment-form .form-submit input[type="submit"],
.comment-respond #submit,
#respond .comment-form .form-submit input[type="submit"],
#respond #submit {
    background-image: linear-gradient(135deg, var(--primary-color), var(--neon-glow)) !important;
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    padding: 12px 28px !important;
    border-radius: 10px !important;
    font-family: var(--main-font) !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    border: none !important;
    cursor: pointer;
    transition: var(--transition-smooth);
    box-shadow: 0 0 var(--neon-intensity) var(--neon-glow-soft) !important;
    display: inline-block;
    text-decoration: none;
}

.comment-respond .comment-form .form-submit input[type="submit"]:hover,
.comment-respond #submit:hover,
#respond .comment-form .form-submit input[type="submit"]:hover,
#respond #submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 calc(var(--neon-intensity) * 1.5) var(--neon-glow-strong) !important;
}

.comment-respond .comment-form .comment-form-cookies-consent,
#respond .comment-form .comment-form-cookies-consent {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-muted);
    font-size: 0.9rem;
}

.comment-respond .comment-form .comment-form-cookies-consent input[type="checkbox"],
#respond .comment-form .comment-form-cookies-consent input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    border-radius: 4px;
    border: 1px solid var(--border-color);
    cursor: pointer;
    accent-color: var(--primary-color);
}

@media (max-width: 768px) {
    .comment-list .comment {
        flex-direction: column;
        align-items: flex-start;
    }

    .comment-list .children {
        padding-inline-start: 15px;
        margin-inline-start: 5px;
    }

    .comment-navigation {
        flex-direction: column;
    }

    .comments-area {
        padding: 20px;
    }

    .woocommerce div.product {
        gap: 20px;
    }

    .woocommerce div.product div.images,
    .woocommerce div.product div.summary {
        flex: 1 1 100%;
    }

    .woocommerce-account .woocommerce {
        flex-direction: column;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        flex: 1 1 100%;
    }

    .woocommerce table.shop_table_responsive tr td::before {
        color: var(--text-muted);
        font-weight: 700;
    }

    .woocommerce-cart table.cart .product-thumbnail {
        display: block !important;
    }

    .woocommerce-cart table.cart .product-thumbnail img {
        width: 60px;
        height: 60px;
    }

    .woocommerce div.product .product_title,
    .woocommerce-products-header h1 {
        font-size: 1.4rem;
    }

    .woocommerce nav.woocommerce-pagination ul li a,
    .woocommerce nav.woocommerce-pagination ul li span {
        min-width: 36px;
        height: 36px;
    }
}

/* ==========================================================================
   ✨ ۹. افکت پارتیکل بک‌گراند
   ========================================================================== */
.tech-particles-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    pointer-events: none;
}