:root {
    --bg: #f6f4fb;
    --surface: #ffffff;
    --surface-2: #f3ebff;
    --primary: #6d28d9;
    --primary-2: #4c1d95;
    --text: #1f1b2d;
    --muted: #746d88;
    --border: #e6dff6;
    --shadow: 0 18px 45px rgba(78, 31, 133, 0.08);
    --radius: 22px;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: Vazirmatn, sans-serif;
    direction: rtl;
    text-align: right;
    background: linear-gradient(180deg, #faf8ff 0%, #f4f0fb 100%);
    color: var(--text);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

.container {
    width: min(1280px, calc(100% - 32px));
    margin: 0 auto;
}


/* ==========================================================================
   2. SITE HEADER & NAVIGATION (هدر و منوی اصلی)
   ========================================================================== */
.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(230, 223, 246, 0.9);
}

.header-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
    min-height: 84px;
}

.header-right {
    justify-self: start;
}

.header-center {
    justify-self: center;
    font-size: 14px;
}

.header-left {
    justify-self: end;
    display: flex;
    gap: 12px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.brand .custom-logo {
    width: 46px;
    height: 46px;
    object-fit: contain;
}

.brand-mark {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary), var(--primary-2));
    color: #fff;
    font-weight: 700;
}

.brand-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.brand-text strong {
    font-size: 18px;
}

.brand-text span {
    color: var(--muted);
    font-size: 12px;
}

.primary-menu {
    list-style: none;
    display: flex;
    gap: 26px;
    margin: 0;
    padding: 0;
}

.primary-menu a {
    color: #433b57;
    font-weight: 500;
}

.header-action {
    height: 44px;
    border-radius: 999px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    position: relative;
    font-size: 14px;
}

.header-action.ghost {
    background: #f9f6ff;
}

.header-action .icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
}

.header-action .icon svg {
    width: 100%;
    height: 100%;
}

.count {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
}

.header-action.cart-action {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    border: 1px solid #ececec;
    box-shadow: 0 8px 20px rgba(0,0,0,.04);
}

.cart-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.cart-icon svg {
    width: 24px;
    height: 24px;
    stroke: #222;
}

.header-action.cart-action .count {
    position: absolute;
    top: -19px;
    right: -20px;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: linear-gradient(135deg, #7c3aed, #a855f7);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
    border: 2px solid #fff;
    box-shadow: 0 6px 14px rgba(124, 58, 237, 0.28);
}


/* ==========================================================================
   3. HERO SECTION & BANNER (بخش هیرو و بنر اصلی)
   ========================================================================== */
.hero-section {
    padding: 48px 0 26px;
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 28px;
    align-items: stretch;
}

.hero-content {
    padding: 34px;
}

.hero-content h1 {
    font-size: clamp(26px, 3.2vw, 44px);
    font-weight: 800;
    color: #222;
    margin: 0 0 8px;
    line-height: 1.35;
}

.hero-content p {
    color: #444;
    margin: 0 0 18px;
    font-size: 16px;
}

.hero-search {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 14px;
    padding: 10px 10px 10px 12px;
    box-shadow: 0 18px 40px rgba(23, 11, 43, .10);
    margin-bottom: 16px;
}

.hero-search input {
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 15px;
    padding: 10px 8px;
    font-family: inherit;
}

.hero-search button {
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #6d28d9, #7c3aed);
    color: #fff;
    cursor: pointer;
    font-family: inherit;
}

.popular-tags,
.hero-tags {
    margin-top: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.popular-tags strong,
.hero-tags-label {
    font-size: 14px;
    color: #333;
    font-weight: 700;
}

.popular-tags a,
.filter-chip,
.tag-pill {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(0,0,0,.06);
    color: #333;
    text-decoration: none;
    font-size: 13px;
}

.hero-banner {
    position: relative;
    min-height: 420px;
    padding: 56px 0 28px;
    background-image: var(--hero-bg);
    background-size: cover;
    background-position: center;
    border-radius: 0;
    overflow: hidden;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.55) 45%, rgba(255,255,255,.30) 100%);
    backdrop-filter: blur(1px);
}

.hero-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin-top: 2em;
    margin-bottom: -2em;
}

.hero-features {
    border-radius: 16px 16px 0 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(0, 0, 0, .06);
    padding: 1.58em;
}

.feature-item {
    display: flex;
    gap: 12px;
    align-items: center;
}

.feature-ico {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(109,40,217,.10);
    color: #6d28d9;
    font-size: 18px;
}

.feature-txt strong {
    display: block;
    font-weight: 800;
}

.feature-txt span {
    display: block;
    font-size: 12px;
    color: #555;
}


/* ==========================================================================
   4. GENERAL FEATURES & BOXES (بخش ویژگی‌ها و باکس‌های عمومی)
   ========================================================================== */

.section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.section-head h2{
    font-size: 18px;
}

.section-head a{
    font-size: 14px;
    color: #5d22b8;
}

.features-section {
    margin-top: 24px;
    margin-bottom: 14px;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.feature-box,
.boxed-panel,
.music-card,
.radio-box,
.cta-box,
.membership-box {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.feature-box {
    padding: 20px;
    display: flex;
    gap: 14px;
    align-items: center;
}

.feature-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: #f4ecff;
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.feature-icon svg {
    width: 22px;
    height: 22px;
}

.feature-box h3 {
    margin: 0 0 4px;
    font-size: 16px;
}

.feature-box p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
}

.section-block {
    padding: 24px 0;
}

.dual-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.boxed-panel {
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 24px;
    padding: 24px;
}


.app-tag-grid {
    display: grid;
    gap: 12px;
}
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-6 { grid-template-columns: repeat(6, 1fr); }

.app-filter-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 10px;
    border-radius: 20px;
    text-align: center;
    transition: all 0.3s ease;
    text-decoration: none !important;
}

.app-filter-card.sm { padding: 30px 5px; } /* برای بخش حال و هوا که ۶ تایی است */

.app-filter-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

.app-filter-card .icon-box svg {
    width: 36px;
    height: 36px;
    margin-bottom: 12px;
    stroke-width: 1.5;
}

.app-filter-card .main-title {
    display: block;
    font-weight: 800;
    font-size: 15px;
    color: #222;
}

.app-filter-card .sub-title {
    display: block;
    font-size: 11px;
    margin-top: 4px;
    opacity: 0.6;
    color: inherit;
}

/* پلت رنگی لایت مطابق تصویر */
.green  { background: #f4fbf7; color: #48a878; }
.gold   { background: #fffbf2; color: #e2a03f; }
.purple { background: #f8f7ff; color: #8a76e9; }
.orange { background: #fff8f4; color: #f2994a; }
.pink   { background: #fff5f7; color: #ed5a8a; }
.blue   { background: #f4faff; color: #56a0f3; }
.yellow { background: #fffef2; color: #f2c94c; }
.red    { background: #fff5f5; color: #eb5757; }
.violet { background: #f9f5ff; color: #9b51e0; }

/* هماهنگی رنگ آیکون با متن */
.app-filter-card svg { stroke: currentColor; fill: none; }

/* ریسپانسیو برای موبایل */
@media (max-width: 992px) {
    .dual-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .grid-4, .grid-6 { grid-template-columns: repeat(2, 1fr); }
}



/* ==========================================================================
   5. MUSIC CARD & PRODUCT GRID (کارت محصول موزیک و گرید)
   ========================================================================== */
.cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    align-items: stretch;
}

.four-col {
    grid-template-columns: repeat(4, 1fr);
}

.music-card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.music-cover-wrap {
    position: relative;
    padding: 14px;
    background: linear-gradient(180deg, #fbf9ff, #f4edff);
}

.music-cover {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 20px;
}

/* Audio Play Button & Pulsing Waves */
.audio-play-btn {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    width: 66px;
    height: 66px;
    border-radius: 50%;
    border: 0;
    background: rgba(81, 36, 140, 0.9);
    color: #fff;
    cursor: pointer;
    z-index: 3;
    box-shadow: 0 18px 30px rgba(88, 35, 145, 0.3);
}

.audio-play-btn svg {
    width: 22px;
    height: 22px;
}

.audio-play-btn.is-playing {
    background: #ff4d8d;
}

.wave-ring,
.wave-ring-2 {
    position: absolute;
    inset: 50% auto auto 50%;
    width: 82px;
    height: 82px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid rgba(109, 40, 217, 0.18);
    animation: pulse 2.6s infinite;
    pointer-events: none;
}

.wave-ring-2 {
    animation-delay: .9s;
}

@keyframes pulse {
    0% { transform: translate(-50%, -50%) scale(.8); opacity: .9; }
    100% { transform: translate(-50%, -50%) scale(1.8); opacity: 0; }
}

/* Music Waveform Visualizer */
.music-waveform {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 3px;
    padding: 10px 14px 4px;
    height: 36px;
}

.wave-bar {
    width: 3px;
    border-radius: 99px;
    background: linear-gradient(180deg, #c084fc 0%, #7c3aed 100%);
    opacity: 0.85;
}

/* Card Body & Title */
.music-card-body {
    padding: 18px 18px 20px;
    display: flex;
    flex-direction: column;
    flex: 1; /* پر کردن فضای خالی برای یک‌دست شدن */
}

.music-title {
    margin: 0 0 8px;
    line-height: 1.6;
    text-align: center;
    font-size: 14px;
}

.music-read-link {
    color: var(--primary);
    font-size: 14px;
    font-weight: 600;
}

/* Music Metadata Badges */
.music-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
    min-height: 40px; /* فضای رزرو شده تا کارت بدون متادا دفرمه نشود */
    justify-content: space-around;
}

.music-meta.is-empty {
    visibility: hidden;
}

.music-meta span,
.meta-badge {
    color: #5e5571;
    font-size: 12px;
}

/* Music Card Footer (چسبیده به پایین) */
.music-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto; /* چسباندن قیمت و دکمه خرید به انتهای کارت */
    padding-top: 18px;
    gap: 12px;
}

.line-horizontal {
    display: block;
    height: 1px;
    background-color: #cccccc4a;
    margin: 5px 9px;
}

/* =========================
   Radio Strip
========================= */
.radio-strip {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 9px;
    border-radius: 12px;
    overflow: hidden;
    background: linear-gradient(135deg, #1e0b46 0%, #2b0d63 45%, #34126f 100%);
    box-shadow: 0 18px 40px rgba(37, 10, 83, 0.22);
}

.radio-strip-pattern {
    position: absolute;
    left: 18px;
    top: 20px;
    width: 90px;
    height: 170px;
    opacity: 0.16;
    pointer-events: none;
}

.radio-strip-pattern::before {
    content: "";
    position: absolute;
    inset: 0;
    border-left: 2px solid rgba(255,255,255,0.35);
    border-radius: 80px 0 0 80px;
    transform: skewY(-8deg);
}

.radio-strip-pattern::after {
    content: "";
    position: absolute;
    left: 12px;
    top: 6px;
    bottom: 6px;
    width: 54px;
    border-left: 2px solid rgba(255,255,255,0.25);
    border-radius: 80px 0 0 80px;
}

.radio-nav {
    position: relative;
    z-index: 2;
    border: 0;
    border-radius: 100%;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    transition: all 0.2s ease;
    font-size: 8px;
}


.radio-nav span {
    font-size: 34px;
    line-height: 1;
    transform: translateY(-1px);
}

.radio-nav:hover {
    background: rgba(255,255,255,0.16);
}

.radio-tracks {
    overflow: hidden;
    width: 100%;
}

.radio-tracks-inner {
    display: flex;
    gap: 16px;
    transition: transform 0.35s ease;
    will-change: transform;
}

.radio-track-card {
    flex: 0 0 calc((100% - 48px) / 4);
    max-width: calc((100% - 48px) / 4);
    box-sizing: border-box;
}


.radio-track-card {
    width: 190px;
    min-width: 190px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 18px;
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.radio-track-thumb {
    position: relative;
    width: 74px;
    height: 74px;
    border-radius: 14px;
    overflow: hidden;
    flex: 0 0 74px;
    background: rgba(255,255,255,0.08);
}

.radio-track-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.radio-track-play {
    position: absolute;
    right: 6px;
    bottom: 6px;
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #2b0d63;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

.radio-track-info {
    min-width: 0;
    flex: 1 1 auto;
}

.radio-track-info strong {
    display: block;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
    line-height: 1.5;
}

.radio-track-info span {
    display: block;
    color: rgba(255,255,255,0.78);
    font-size: 12px;
    line-height: 1.6;
}

.radio-track-meta {
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: rgba(255,255,255,0.74);
    font-size: 12px;
}

.radio-wave-mini {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 10px;
    background:
            linear-gradient(to right,
            rgba(255,255,255,0.8) 0 3px,
            transparent 3px 6px,
            rgba(255,255,255,0.55) 6px 9px,
            transparent 9px 12px,
            rgba(255,255,255,0.9) 12px 15px,
            transparent 15px 18px,
            rgba(255,255,255,0.45) 18px 21px,
            transparent 21px 24px,
            rgba(255,255,255,0.75) 24px 27px,
            transparent 27px 30px,
            rgba(255,255,255,0.6) 30px 33px);
    border-radius: 6px;
}

.radio-side-info {
    position: relative;
    z-index: 2;
    width: 330px;
    color: #fff;
    text-align: right;
    margin-right: 1em;
}

.radio-side-info h2 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 900;
}

.radio-side-info p {
    margin: 0 0 20px;
    color: rgba(255,255,255,0.82);
    font-size: 13px;
    line-height: 1.9;
}

.radio-enter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 20px;
    border-radius: 12px;
    text-decoration: none;
    color: #fff;
    font-weight: 800;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.08));
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    transition: all 0.2s ease;
    font-size: 14px;
}

.radio-enter-btn:hover {
    transform: translateY(-2px);
    background: linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.10));
    color: #fff;
}

.radio-headphone {
    font-size: 24px;
    line-height: 1;
}

@media (max-width: 1399px) {
    .radio-strip {
        flex-wrap: wrap;
    }

    .radio-side-info {
        width: 100%;
        min-width: 100%;
        order: -1;
    }

    .radio-tracks {
        overflow-x: auto;
        padding-bottom: 6px;
    }

    .radio-tracks::-webkit-scrollbar {
        height: 6px;
    }

    .radio-tracks::-webkit-scrollbar-thumb {
        background: rgba(255,255,255,0.18);
        border-radius: 999px;
    }
}

@media (max-width: 767px) {
    .radio-strip {
        padding: 18px;
        border-radius: 22px;
        gap: 14px;
    }

    .radio-side-info h2 {
        font-size: 26px;
    }

    .radio-side-info p {
        font-size: 14px;
        line-height: 1.8;
    }

    .radio-enter-btn {
        width: 100%;
        min-width: 100%;
        padding: 14px 18px;
    }

    .radio-nav {
        width: 46px;
        height: 46px;
        border-radius: 14px;
        flex-basis: 46px;
    }

    .radio-track-card {
        width: 170px;
        min-width: 170px;
    }

    .radio-track-thumb {
        width: 64px;
        height: 64px;
        flex-basis: 64px;
    }

    .radio-track-info strong {
        font-size: 15px;
    }

    .radio-strip-pattern {
        display: none;
    }
}

/* ==========================================================================
   6. PRICES & BUTTONS (استایل قیمت، تخفیف و دکمه‌ها)
   ========================================================================== */
.price-box {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.price-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sale-price {
    font-size: 16px;
    font-weight: 800;
    color: #1e1b4b;
    line-height: 1.2;
}

.regular-price {
    font-size: 12px;
    color: #9ca3af;
    text-decoration: line-through;
    line-height: 1;
}

.discount-badge {
    background: #ef4444;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 99px;
    line-height: 1;
}

.price {
    color: var(--primary-2);
    font-size: 14px;
}

.hero-search button,
.primary-btn,
.buy-btn {
    border: 0;
    border-radius: 6px;
    background: linear-gradient(135deg, var(--primary), var(--primary-2));
    color: #fff;
    font-family: inherit;
    cursor: pointer;
}

.buy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px; /* اندازه کل باکس دکمه */
    min-height: 44px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--primary), var(--primary-2));
    color: #fff;
    transition: all 0.3s ease;
}

.buy-btn svg {
    width: 22px;  /* سایز دلخواه آیکون */
    height: 22px; /* سایز دلخواه آیکون */
    stroke-width: 2; /* ضخامت خطوط آیکون (اگر مایل بودید) */
}
.primary-btn {
    min-height: 46px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.primary-btn.light {
    background: #fff;
    color: var(--primary-2);
}


/* ==========================================================================
   7. PANELS, POSTS & WIDGETS (پنل‌ها، پست‌های کوچک و CTA)
   ========================================================================== */
.dual-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.boxed-panel {
    padding: 22px;
}

.tag-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.filter-chip.soft {
    background: #fff;
}

.radio-box {
    padding: 30px;
    background: linear-gradient(135deg, #2f1159, #5b21b6);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.eyebrow {
    display: inline-flex;
    margin-bottom: 12px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
}

.post-list {
    display: grid;
    gap: 14px;
}

.mini-post {
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 14px;
    align-items: center;
    padding: 12px;
    border-radius: 18px;
    background: #faf7ff;
    border: 1px solid var(--border);
}

.mini-post img {
    width: 86px;
    height: 86px;
    border-radius: 14px;
    object-fit: cover;
}

.mini-post h3 {
    margin: 0 0 8px;
    font-size: 16px;
}

.mini-post p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
}

.cta-box,
.membership-box {
    padding: 28px;
}

.membership-box,
.cta-grid {
    display: grid;
    gap: 18px;
}

.membership-box {
    grid-template-columns: 1fr auto;
    align-items: center;
}


/* ==========================================================================
   8. FOOTER (فوتر سایت)
   ========================================================================== */
.site-footer {
    margin-top: auto !important;
    padding-top: 42px;
    background: #1e1630;
    color: #d8d1ea;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 2em;
    font-size: 14px;
}

.footer-grid h3,
.footer-grid h4 {
    margin: 0 0 12px;
    color: #fff;
}

.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-menu li + li {
    margin-top: 8px;
}

.trust-boxes {
    display: flex;
    gap: 10px;
}

.trust-boxes span {
    min-width: 76px;
    min-height: 76px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #382b56;
    border-radius: 18px;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.08);
    padding: 16px 0 26px;
    font-size: 13px;
    color: #b8b0cf;
}

.footer-title{
    font-size: 18px;
}

.textwidget {
    font-size: 16px;
}
/* ==========================================================================
   9. RESPONSIVE DESIGN (واکنش‌گرایی)
   ========================================================================== */
@media (max-width: 1100px) {
    .cards-grid,
    .four-col,
    .features-grid,
    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hero-grid,
    .dual-grid,
    .membership-box {
        grid-template-columns: 1fr;
    }

    .hero-inner {
        position: relative;
        padding-bottom: 110px;
    }

    .header-right,
    .header-center,
    .header-left {
        justify-self: stretch;
    }

    .header-center {
        overflow-x: auto;
    }

    .header-left {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

@media (max-width: 992px) {
    .hero-features {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 680px) {
    .cards-grid,
    .features-grid,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .primary-menu {
        gap: 14px;
        white-space: nowrap;
    }

    .hero-content h1 {
        font-size: 28px;
    }

    .hero-search {
        flex-direction: column;
    }

    .radio-box {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 576px) {
    .hero-banner {
        padding: 42px 0 18px;
        min-height: 380px;
    }
    .hero-features {
        grid-template-columns: 1fr;
    }
    .hero-content {
        max-width: 100%;
    }
}

/* تنظیم آیکون‌های Font Awesome در باکس */
.app-filter-card .icon-box {
    height: 40px; /* ارتفاع ثابت برای تراز شدن */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.app-filter-card .icon-box i {
    font-size: 32px; /* سایز آیکون مطابق عکس */
    color: currentColor; /* استفاده از رنگ تعریف شده در کلاس رنگ‌ها */
}

/* در کارت‌های کوچک‌تر (Mood) آیکون کمی کوچک‌تر باشد */
.app-filter-card.sm .icon-box i {
    font-size: 28px;
}

/* افکت هاور روی آیکون */
.app-filter-card:hover .icon-box i {
    transform: scale(1.1);
    transition: transform 0.3s ease;
}


/* Container Layout */
.lessons-grid-container {
    display: grid;
    grid-template-columns: 1.8fr 1.1fr; /* راست بزرگتر، چپ کوچکتر مطابق عکس */
    gap: 20px;
    direction: rtl;
}

/* Left Promo Box (از صفر سنتور) */
.lessons-left-promo {
    background: #f8f3eb;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: right;
    padding: 1em;
}

.promo-content h2 {
    font-size: 24px;
    font-weight: 900;
    margin-bottom: 10px;
}

.promo-content p {
    font-size: 18px;
    color: #666;
    margin-bottom: 25px;
}

.promo-action-btn {
    display: inline-block;
    background: #eee3d5;
    color: #5d4a3a;
    padding: 10px 25px;
    border-radius: 12px;
    font-weight: bold;
    text-decoration: none;
    margin-bottom: 40px;
    font-size: 12px;
}

/* Steps Line */
.promo-steps-line {
    display: flex;
    justify-content: space-between;
    position: relative;
    padding-top: 20px;
}

.promo-steps-line::before {
    content: "";
    position: absolute;
    top: 45px;
    left: 10%;
    right: 10%;
    height: 1px;
    background: #e2d5c5;
    z-index: 1;
}

.promo-step-item {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.step-icon-circle {
    width: 50px;
    height: 50px;
    background: #fff;
    border: 1px solid #dccfbf;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #9d81fd; /* بنفش ملایم آیکن‌ها */
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.promo-step-item span {
    font-size: 12px;
    color: #444;
    font-weight: 500;
}

/* Right Panel (آموزش های محبوب) */
.lessons-right-panel {
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 24px;
    padding: 12px;
}

.lessons-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.lessons-panel-header h2 {
    font-size: 24px;
    font-weight: 800;
}

.lessons-panel-header a {
    color: #6366f1;
    font-weight: bold;
    font-size: 14px;
}

/* Grid of Cards */
.lessons-items-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.lesson-item-card {
    background: #fff;
    border: 1px solid #f5f5f5;
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.lesson-item-card:hover {
    transform: translateY(-5px);
}

.lesson-item-thumb {
    display: block;
    position: relative;
    aspect-ratio: 1.4;
}

.lesson-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lesson-play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 20px;
    opacity: 0.8;
}

.lesson-item-content {
    padding: 12px;
}

.lesson-item-content h3 {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1.6;
    text-align: center;
}

.lesson-item-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
}

.lesson-count-tag {
    color: #999;
}

.lesson-rating {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #ffb800;
}

/* Responsive */
@media (max-width: 1024px) {
    .lessons-grid-container {
        grid-template-columns: 1fr;
    }
    .lessons-items-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* =========================================
   Popular Products - Scoped Styles Only
   ========================================= */

.popular-products-section {
    padding: 28px 0;
}

.popular-products-section__head {
    margin-bottom: 18px;
}

.popular-products-section__head h2 {
    margin: 0;
    font-size: 24px;
}

.popular-products-section__head a {
    font-size: 13px;
}

/* ردیف کارت‌ها */
.popular-products-section .popular-products-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

/* کارت اختصاصی تصویر مرجع */
.popular-products-section .popular-product-item {
    position: relative;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 52px;
    align-items: center;
    gap: 10px;
    min-height: 112px;
    padding: 14px;
    background: #fff;
    border: 1px solid #eeeaf5;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(44, 20, 80, 0.06);
}

/* دکمه پخش سمت چپ */
.popular-products-section .popular-product-play {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #ded5ed;
    border-radius: 50%;
    background: #fff;
    color: #6d35c5;
    cursor: pointer;
}

.popular-products-section .popular-product-play svg {
    width: 14px;
    height: 14px;
}

.popular-products-section .popular-product-play--disabled {
    opacity: .5;
}

/* عنوان و اطلاعات */
.popular-products-section .popular-product-item__details {
    min-width: 0;
}

.popular-products-section .popular-product-item__details h3 {
    margin: 0;
    overflow: hidden;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.popular-products-section .popular-product-item__details h3 a {
    color: #241a31;
}

.popular-products-section .popular-product-item__level {
    display: block;
    margin-top: 2px;
    color: #8b8494;
    font-size: 11px;
}

.popular-products-section .popular-product-item__price {
    margin-top: 8px;
    color: #5f2aa8;
    font-size: 12px;
    font-weight: 700;
}

.popular-products-section .popular-product-item__price del {
    color: #aaa2b3;
    font-size: 10px;
}

/* تصویر کوچک سمت راست */
.popular-products-section .popular-product-item__image {
    display: block;
    width: 52px;
    height: 52px;
    overflow: hidden;
    border-radius: 12px;
    background: #f4f1f8;
}

.popular-products-section .popular-product-item__thumbnail {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* آیکن سبد خرید */
.popular-products-section .popular-product-item__cart {
    position: absolute;
    right: 1em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 8px;
    background: #8150d8;
    color: #fff;
}
.popular-products-section .popular-product-item__cart svg {
    width: 13px;
    height: 13px;
}

/* تبلت */
@media (max-width: 1100px) {
    .popular-products-section .popular-products-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* موبایل */
@media (max-width: 680px) {
    .popular-products-section {
        padding: 22px 0;
    }

    .popular-products-section .popular-products-list {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding: 2px 2px 12px;
    }

    .popular-products-section .popular-product-item {
        flex: 0 0 235px;
    }
}

/* Request note and membership CTA */
.netgo-cta-section {
    padding: 24px 0;
}

.netgo-cta-section .cta-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.netgo-cta-section .cta-box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 140px;
    padding: 10px 20px;
    overflow: hidden;
    border: 1px solid rgba(80, 50, 100, 0.08);
    border-radius: 16px;
}

.netgo-cta-section .cta-box--request {
    background: #fff0df;
}

.netgo-cta-section .cta-box--membership {
    background: #edd8ff;
}

.netgo-cta-section .cta-box__content {
    position: relative;
    z-index: 1;
    max-width: calc(100% - 105px);
    margin-right: 6em;
}

.netgo-cta-section .cta-box h2 {
    margin: 0 0 8px;
    color: #2f2436;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.5;
}

.netgo-cta-section .cta-box p {
    margin: 0;
    color: #514757;
    font-size: 13px;
    line-height: 2;
}

.netgo-cta-section .cta-box__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    margin-top: 14px;
    padding: 7px 17px;
    border: 1px solid rgba(72, 51, 83, 0.1);
    border-radius: 10px;
    background: #fff;
    color: #403348;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 4px 10px rgba(48, 29, 61, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.netgo-cta-section .cta-box__button:hover {
    color: #403348;
    transform: translateY(-2px);
    box-shadow: 0 7px 15px rgba(48, 29, 61, 0.13);
}

.netgo-cta-section .cta-box__icon{
    position: absolute;
    top: 50%;
    right: 28px;     /* سمت راست */
    left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    transform: translateY(-50%);
    font-size: 55px;
}

.netgo-cta-section .cta-box__icon::before{
    content: "";
    position: absolute;
    right: calc(100% + 18px); /* خط در سمت چپ آیکن (بین متن و آیکن) */
    top: 50%;
    transform: translateY(-50%);
    height: 58px;            /* کوتاه‌تر از ارتفاع باکس/آیکن */
    width: 1px;
    background: #e6e6e6;      /* طوسی کمرنگ */
    opacity: .9;
    border-radius: 2px;
}

.netgo-cta-section .cta-box__content{
    max-width: calc(100% - 140px); /* جای آیکن + فاصله + خط */
}

.netgo-cta-section .cta-box__icon svg {
    width: 64px;
    height: 64px;
}

.netgo-cta-section .cta-box--request .cta-box__icon {
    color: #d79736;
}

.netgo-cta-section .cta-box--membership .cta-box__icon {
    color: #9956d0;
}

@media (max-width: 768px) {
    .netgo-cta-section .cta-wrapper {
        grid-template-columns: 1fr;
    }

    .netgo-cta-section .cta-box__icon::before{
        right: calc(100% + 12px);
        height: 46px;
    }

    .netgo-cta-section .cta-box {
        min-height: 132px;
        padding: 20px;
    }

    .netgo-cta-section .cta-box h2 {
        font-size: 18px;
    }

    .netgo-cta-section .cta-box__content{
        max-width: calc(100% - 115px);
    }

    .netgo-cta-section .cta-box__icon{
        right: 16px;
        width: 58px;
        height: 58px;
    }

    .netgo-cta-section .cta-box__icon svg {
        width: 48px;
        height: 48px;
    }
}


/* ==========================================================================
   10. MOBILE POLISH OVERRIDES
   ========================================================================== */

@media (max-width: 767px) {
    :root {
        --radius: 16px;
    }

    body {
        overflow-x: hidden;
    }

    .container {
        width: min(100% - 24px, 1280px);
    }

    /* Header */
    .site-header {
        position: relative;
        backdrop-filter: none;
    }

    .header-inner {
        grid-template-columns: 1fr auto;
        gap: 12px;
        min-height: 66px;
        padding: 10px 0;
    }

    .header-right {
        justify-self: start;
        min-width: 0;
    }

    .header-center {
        display: none;
    }

    .header-left {
        justify-self: end;
        justify-content: flex-end;
        gap: 8px;
        flex-wrap: nowrap;
    }

    .brand {
        gap: 8px;
        min-width: 0;
    }

    .brand .custom-logo,
    .brand-mark {
        width: 38px;
        height: 38px;
        border-radius: 11px;
        flex: 0 0 38px;
    }

    .brand-text strong {
        font-size: 15px;
        white-space: nowrap;
    }

    .brand-text span {
        display: none;
    }

    .header-action {
        width: 40px;
        height: 40px;
        min-height: 40px;
        padding: 0;
        justify-content: center;
        border-radius: 12px;
    }

    .header-action.ghost {
        font-size:10px;
    }

    .header-action.cart-action {
        width: 40px;
        height: 40px;
        min-height: 40px;
        border-radius: 12px;
    }

    .header-action.cart-action .count {
        top: -8px;
        right: -8px;
        min-width: 18px;
        height: 18px;
        padding: 0 4px;
        border-width: 1px;
        font-size: 10px;
        line-height: 18px;
    }

    .cart-icon svg {
        width: 20px;
        height: 20px;
    }

    /* Hero */
    .hero-section {
        padding: 18px 0;
    }

    .hero-banner {
        min-height: auto;
        padding: 24px 0 0;
        background-position: center;
    }

    .hero-overlay {
        background: rgba(255, 255, 255, 0.80);
        backdrop-filter: none;
    }

    .hero-inner {
        gap: 18px;
        margin-top: 0;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .hero-content {
        padding: 20px 0 0;
    }

    .hero-content h1 {
        font-size: 24px;
        line-height: 1.7;
        margin-bottom: 8px;
    }

    .hero-content p {
        font-size: 14px;
        line-height: 2;
        margin-bottom: 14px;
    }

    .hero-search {
        flex-direction: row;
        gap: 6px;
        padding: 6px;
        border-radius: 12px;
        margin-bottom: 12px;
    }

    .hero-search input {
        min-width: 0;
        font-size: 13px;
        padding: 9px 6px;
    }

    .hero-search button {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        border-radius: 10px;
    }

    .popular-tags,
    .hero-tags {
        gap: 7px;
        margin-top: 10px;
    }

    .popular-tags strong,
    .hero-tags-label {
        width: 100%;
        font-size: 13px;
    }

    .popular-tags a,
    .filter-chip,
    .tag-pill {
        padding: 6px 10px;
        font-size: 12px;
    }

    .hero-features {
        grid-template-columns: 1fr 1fr;
        gap: 1px;
        padding: 0;
        border-radius: 14px 14px 0 0;
        background: rgba(255, 255, 255, 0.92);
        overflow: hidden;
    }

    .feature-item {
        gap: 8px;
        padding: 12px 10px;
        background: rgba(248, 246, 252, 0.7);
    }

    .feature-ico {
        width: 34px;
        height: 34px;
        flex: 0 0 34px;
        border-radius: 10px;
        font-size: 14px;
    }

    .feature-txt strong {
        font-size: 12px;
    }

    .feature-txt span {
        font-size: 10px;
        line-height: 1.7;
    }

    /* General section spacing */
    .section-block,
    .popular-products-section,
    .netgo-cta-section {
        padding: 18px 0;
    }

    .features-section {
        margin-top: 18px;
    }

    .section-head {
        gap: 12px;
        margin-bottom: 12px;
    }

    .section-head h2,
    .popular-products-section__head h2 {
        font-size: 17px;
    }

    .section-head a {
        flex: 0 0 auto;
        font-size: 12px;
    }

    .boxed-panel,
    .cta-box,
    .membership-box {
        border-radius: 16px;
        padding: 16px;
    }

    /* Filter cards */
    .app-tag-grid {
        gap: 8px;
    }

    .app-filter-card {
        min-height: 112px;
        padding: 14px 8px;
        border-radius: 14px;
    }

    .app-filter-card.sm {
        min-height: 98px;
        padding: 12px 5px;
    }

    .app-filter-card .icon-box {
        height: 32px;
        margin-bottom: 8px;
    }

    .app-filter-card .icon-box i {
        font-size: 25px;
    }

    .app-filter-card .main-title {
        font-size: 13px;
    }

    .app-filter-card .sub-title {
        font-size: 10px;
    }

    /* Music cards */
    .cards-grid,
    .four-col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .music-card {
        border-radius: 14px;
    }

    .music-cover-wrap {
        padding: 8px;
    }

    .music-cover {
        border-radius: 11px;
    }

    .audio-play-btn {
        width: 32px;
        height: 32px;
    }

    .audio-play-btn svg {
        width: 18px;
        height: 18px;
    }

    .wave-ring,
    .wave-ring-2 {
        width: 58px;
        height: 58px;
    }

    .music-card-body {
        padding: 12px;
    }

    .music-title {
        min-height: 44px;
        margin-bottom: 5px;
        font-size: 12px;
        line-height: 1.8;
    }

    .music-meta {
        min-height: 30px;
        gap: 4px;
        margin-top: 7px;
    }

    .music-meta span,
    .meta-badge {
        font-size: 10px;
    }

    .music-card-footer {
        gap: 7px;
        padding-top: 10px;
    }

    .sale-price {
        font-size: 13px;
    }

    .regular-price {
        font-size: 10px;
    }

    .buy-btn {
        min-width: 36px;
        min-height: 36px;
        border-radius: 10px;
    }

    .buy-btn svg {
        width: 18px;
        height: 18px;
    }

    /* Radio */
    .radio-strip {
        display: block;
        padding: 18px 14px;
        border-radius: 16px;
    }

    .radio-side-info {
        width: auto;
        min-width: 0;
        margin: 0 0 16px;
    }

    .radio-side-info h2 {
        font-size: 18px;
    }

    .radio-side-info p {
        font-size: 12px;
        line-height: 1.9;
        margin-bottom: 14px;
    }

    .radio-enter-btn {
        width: 100%;
        min-width: 0;
        padding: 12px 14px;
        font-size: 13px;
    }

    .radio-tracks {
        overflow-x: auto;
        padding-bottom: 8px;
        scrollbar-width: none;
    }

    .radio-tracks::-webkit-scrollbar {
        display: none;
    }

    .radio-tracks-inner {
        gap: 10px;
    }

    .radio-track-card {
        flex: 0 0 230px;
        width: 230px;
        min-width: 230px;
        max-width: 230px;
        padding: 10px;
        border-radius: 14px;
    }

    .radio-nav {
        display: none;
    }

    /* Lessons */
    .lessons-grid-container {
        gap: 14px;
    }

    .lessons-left-promo,
    .lessons-right-panel {
        border-radius: 16px;
        padding: 16px;
    }

    .promo-content h2,
    .lessons-panel-header h2 {
        margin: 0 0 8px;
        font-size: 18px;
    }

    .promo-content p {
        margin-bottom: 16px;
        font-size: 14px;
        line-height: 1.9;
    }

    .promo-action-btn {
        margin-bottom: 24px;
    }

    .lessons-items-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .lesson-item-card {
        border-radius: 12px;
    }

    .lesson-item-content {
        padding: 9px;
    }

    .lesson-item-content h3 {
        min-height: 44px;
        margin-bottom: 8px;
        font-size: 11px;
    }

    /* Popular products */
    .popular-products-section .popular-products-list {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding: 2px 0 10px;
        scrollbar-width: none;
    }

    .popular-products-section .popular-products-list::-webkit-scrollbar {
        display: none;
    }

    .popular-products-section .popular-product-item {
        flex: 0 0 245px;
        min-height: 104px;
        padding: 12px;
        border-radius: 14px;
    }

    /* CTA */
    .netgo-cta-section .cta-wrapper {
        gap: 12px;
    }

    .netgo-cta-section .cta-box {
        min-height: 125px;
        padding: 16px;
        border-radius: 14px;
    }

    .netgo-cta-section .cta-box__content {
        max-width: calc(100% - 75px);
        margin-right: 0;
        margin-right: 4em;
    }

    .netgo-cta-section .cta-box h2 {
        font-size: 15px;
        line-height: 1.7;
    }

    .netgo-cta-section .cta-box p {
        font-size: 11px;
        line-height: 1.9;
    }

    .netgo-cta-section .cta-box__button {
        min-height: 34px;
        margin-top: 9px;
        padding: 6px 10px;
        font-size: 11px;
    }

    .netgo-cta-section .cta-box__icon {
        right: 12px;
        width: 48px;
        height: 48px;
    }

    .netgo-cta-section .cta-box__icon::before {
        right: calc(100% + 8px);
        height: 42px;
    }

    .netgo-cta-section .cta-box__icon svg {
        width: 40px;
        height: 40px;
    }

    /* Footer */
    .site-footer {
        margin-top: 24px;
        padding-top: 28px;
    }

    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 16px;
    }

    .footer-grid > :first-child {
        grid-column: 1 / -1;
    }

    .footer-title {
        font-size: 16px;
    }

    .textwidget,
    .footer-menu {
        font-size: 13px;
        line-height: 1.9;
    }
}

@media (max-width: 380px) {
    .container {
        width: min(100% - 20px, 1280px);
    }

    .brand-text strong {
        font-size: 13px;
    }

    .header-action.ghost {
        font-size:10px;
    } 

    .hero-features {
        grid-template-columns: 1fr;
    }

    .cards-grid,
    .four-col,
    .lessons-items-grid {
        grid-template-columns: 1fr;
    }

    .music-title {
        min-height: auto;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   11. CUSTOM SHOP & ADVANCED FILTER SIDEBAR SYSTEM (RTL)
   ========================================================================== */

.shop-wrapper {
    margin-top: 32px;
    margin-bottom: 64px;
}

.shop-header {
    margin-bottom: 28px;
    background: linear-gradient(135deg, #f7f3ff, #fdfbfa);
    padding: 30px 24px;
    border-radius: 20px;
    border: 1px solid #eeeaf5;
    text-align: right;
}

.shop-title {
    font-size: 26px;
    font-weight: 800;
    color: #1e1b4b;
    margin: 0 0 8px 0;
}

.shop-description {
    font-size: 14px;
    color: #6b7280;
    margin: 0;
}

/* Layout ساختار اصلی */
.shop-layout {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
    direction: rtl; /* تضمین راست‌چین بودن */
}

/* سایدبار فیلتر */
.shop-sidebar {
    background: #fff;
    border: 1px solid #eeeaf5;
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 8px 24px rgba(44, 20, 80, 0.03);
    position: sticky;
    top: 90px;
    z-index: 10;
}

.filter-sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #f3effa;
    padding-bottom: 16px;
    margin-bottom: 20px;
}

.filter-sidebar-header h3 {
    font-size: 16px;
    font-weight: 700;
    color: #1e1b4b;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.filter-sidebar-header h3 i {
    color: var(--primary);
}

.clear-filters-btn {
    font-size: 12px;
    color: #ef4444;
    text-decoration: none;
    font-weight: 600;
    transition: opacity 0.2s;
}

.clear-filters-btn:hover {
    opacity: 0.8;
}

/* گروه‌های فیلتر */
.filter-group {
    border-bottom: 1px solid #f3effa;
    padding-bottom: 18px;
    margin-bottom: 18px;
}

.filter-group:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.filter-group-title {
    font-size: 14px;
    font-weight: 700;
    color: #374151;
    margin: 0 0 12px 0;
}

.filter-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* دکمه‌های رادیویی سفارشی فیلتر */
.filter-checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #4b5563;
    cursor: pointer;
    position: relative;
    user-select: none;
    margin-top: 0.5em;
}

.filter-checkbox-label input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.checkbox-custom {
    height: 18px;
    width: 18px;
    background-color: #f3effa;
    border: 1px solid #ded5ed;
    border-radius: 5px;
    display: inline-block;
    position: relative;
    transition: all 0.2s ease-in-out;
}

.filter-checkbox-label:hover input ~ .checkbox-custom {
    background-color: #ebe3f7;
}

.filter-checkbox-label input:checked ~ .checkbox-custom {
    background-color: var(--primary);
    border-color: var(--primary);
}

.checkbox-custom:after {
    content: "";
    position: absolute;
    display: none;
    left: 6px;
    top: 2px;
    width: 4px;
    height: 9px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.filter-checkbox-label input:checked ~ .checkbox-custom:after {
    display: block;
}

.label-text {
    line-height: 1;
    margin-top: 2px;
}

/* نوار ابزار بالای محصولات */
.shop-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    border: 1px solid #eeeaf5;
    border-radius: 18px;
    padding: 12px 20px;
    margin-bottom: 20px;
}

.products-count {
    font-size: 13px;
    color: #6b7280;
    font-weight: 500;
}

.products-ordering select {
    border: 1px solid #ded5ed;
    background-color: #fbf9ff;
    padding: 8px 16px;
    font-size: 13px;
    border-radius: 12px;
    color: #4b5563;
    cursor: pointer;
    outline: none;
    font-family: inherit;
    transition: border-color 0.2s;
}

.products-ordering select:focus {
    border-color: var(--primary);
}

/* پیدا نشدن محصول */
.no-products-found {
    text-align: center;
    padding: 60px 20px;
    background: #fff;
    border: 1px solid #eeeaf5;
    border-radius: 22px;
    grid-column: 1 / -1;
}

.no-products-found i {
    font-size: 48px;
    color: #d1d5db;
    margin-bottom: 16px;
}

.no-products-found p {
    font-size: 15px;
    color: #6b7280;
    margin: 0 0 20px 0;
}

.reset-shop-btn {
    display: inline-block;
    background: var(--primary);
    color: #fff;
    padding: 10px 24px;
    border-radius: 12px;
    font-size: 13px;
    text-decoration: none;
    font-weight: 700;
    transition: background 0.2s;
}

.reset-shop-btn:hover {
    background: var(--primary-2);
}

/* صفحه‌بندی */
.shop-pagination {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

.shop-pagination ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 8px;
}

.shop-pagination ul li a,
.shop-pagination ul li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 8px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    color: #4b5563;
    background: #fff;
    border: 1px solid #eeeaf5;
    text-decoration: none;
    transition: all 0.2s;
}

.shop-pagination ul li span.current {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

.shop-pagination ul li a:hover {
    background: #fbf9ff;
    border-color: var(--primary);
    color: var(--primary);
}

/* ==========================================================================
   Responsive Breakpoints & PWA System
   ========================================================================== */

@media (max-width: 992px) {
    .shop-layout {
        grid-template-columns: 1fr; /* سایدبار به بالای محصولات منتقل می‌شود */
        gap: 20px;
    }

    .shop-sidebar {
        position: static;
        padding: 18px;
    }

    .shop-filter-form {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .filter-group {
        border-bottom: none;
        border-left: 1px solid #f3effa;
        padding-bottom: 0;
        padding-left: 16px;
        margin-bottom: 0;
    }

    .filter-group:last-child {
        border-left: none;
        padding-left: 0;
    }
}

@media (max-width: 768px) {
    .shop-filter-form {
        grid-template-columns: 1fr; /* در موبایل فیلترها دوباره زیر هم می‌آیند */
    }

    .filter-group {
        border-left: none;
        border-bottom: 1px solid #f3effa;
        padding-left: 0;
        padding-bottom: 14px;
        margin-bottom: 14px;
    }

    .shop-header {
        padding: 20px 16px;
        border-radius: 14px;
    }

    .shop-title {
        font-size: 20px;
    }

    .shop-toolbar {
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
        padding: 12px;
    }

    .products-ordering select {
        width: 100%;
        box-sizing: border-box;
    }
}


/* هدر فروشگاه به همراه باکس جستجو */
.shop-header-search-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(135deg, #f7f3ff, #fdfbfa);
    padding: 24px 32px;
    border-radius: 20px;
    border: 1px solid #eeeaf5;
    margin-bottom: 28px;
    gap: 24px;
    direction: rtl;
}

.shop-header-info {
    flex: 1;
}

.shop-title {
    font-size: 24px;
    font-weight: 800;
    color: #1e1b4b;
    margin: 0 0 6px 0;
}

.shop-description {
    font-size: 13px;
    color: #6b7280;
    margin: 0;
}

/* باکس جستجو */
.shop-search-box {
    flex: 1;
    max-width: 460px;
    width: 100%;
}

.shop-search-form {
    width: 100%;
}

.search-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #ded5ed;
    border-radius: 16px;
    padding: 3px;
    transition: all 0.3s ease;
}

.search-input-wrapper:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.1);
}

.search-input-wrapper input {
    width: 100%;
    border: none;
    outline: none;
    padding: 12px 16px;
    font-size: 14px;
    color: #374151;
    background: transparent;
    font-family: inherit;
}

.search-input-wrapper button {
    background: var(--primary);
    border: none;
    color: #fff;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    font-size: 16px;
}

.search-input-wrapper button:hover {
    background: var(--primary-2);
}

/* دکمه پاک کردن عبارت جستجو شده */
.clear-search-btn {
    position: absolute;
    left: 56px;
    color: #9ca3af;
    font-size: 14px;
    cursor: pointer;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
}

.clear-search-btn:hover {
    color: #ef4444;
}

/* هماهنگی با موبایل و تبلت */
@media (max-width: 768px) {
    .shop-header-search-wrap {
        flex-direction: column;
        align-items: stretch;
        padding: 20px;
        gap: 16px;
    }

    .shop-header-info {
        text-align: center;
    }

    .shop-search-box {
        max-width: 100%;
    }

    .search-input-wrapper input {
        padding: 10px 12px;
        font-size: 13px;
    }

    .search-input-wrapper button {
        width: 36px;
        height: 36px;
        border-radius: 10px;
    }

    .clear-search-btn {
        left: 48px;
    }
}

/* ==========================================================================
   SINGLE PRODUCT PAGE — SUNNYWEB — RTL GRID
   ========================================================================== */

.single-product-wrapper {
    direction: rtl;
    margin-top: 40px;
    margin-bottom: 80px;
}

/* ---------------------------------------------------------
   بخش بالایی: تصویر + اطلاعات
--------------------------------------------------------- */
.product-top-intro-section {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
    margin-bottom: 35px;
}

.product-col-right {
    min-width: 0;
}

.product-gallery-card {
    background: #fff;
    border: 1px solid #eeeaf5;
    border-radius: 24px;
    padding: 16px;
    box-shadow: 0 8px 24px rgba(44, 20, 80, .04);
}

.main-image-wrap {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fbf9ff;
    border-radius: 18px;
}

.product-main-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.product-main-image:hover {
    transform: scale(1.03);
}

.product-thumbnails {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    margin-top: 12px;
    padding-bottom: 5px;
}

.thumbnail-item {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid #eeeaf5;
    border-radius: 12px;
    background: #fbf9ff;
    transition: all .2s ease;
}

.thumbnail-item:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.product-thumbnail-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ستون اطلاعات متنی بالا */
.product-col-center {
    min-width: 0;
    padding-top: 5px;
}

.product-detail-title {
    margin: 0 0 18px;
    color: #1e1b4b;
    font-size: 28px;
    line-height: 1.5;
    font-weight: 900;
}

.product-meta-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
}

.product-meta-badges .meta-badge {
    display: inline-flex;
    align-items: center;
    padding: 7px 14px;
    border-radius: 999px;
    border: 1px solid #e9e1f7;
    background: #fff;
    color: #5b21b6;
    font-size: 12px;
    font-weight: 800;
}

.product-meta-badges .meta-badge-level {
    color: #1d4ed8;
    border-color: #dbeafe;
}

.product-meta-badges .meta-badge-style {
    color: #7e22ce;
    border-color: #f3e8ff;
}

.product-meta-badges .meta-badge-tuning {
    color: #c2410c;
    border-color: #ffedd5;
}

.product-short-description-card {
    padding: 5px 0 0;
    margin-top: 25px;
}

.short-description-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
}

.short-description-heading h2 {
    margin: 0;
    color: #1e1b4b;
    font-size: 17px;
    font-weight: 900;
}

.short-description-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    color: var(--primary);
    border-radius: 10px;
    background: #f5f0ff;
}

.short-description-content {
    color: #596174;
    font-size: 14px;
    line-height: 2;
}

/* ---------------------------------------------------------
   بخش پایینی: توضیحات و جزئیات در کنار باکس خرید چپ
--------------------------------------------------------- */
.product-split-details-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 30px;
    align-items: start;
    margin-bottom: 50px;
}

/* ستون راست (محتوای طولانی) */
.product-bottom-content {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.tab-content-block {
    padding: 28px;
    border: 1px solid #eeeaf5;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(44, 20, 80, .025);
}

.tab-block-title {
    display: flex;
    align-items: center;
    gap: 5px;
    width: fit-content;
    margin: 0 0 18px;
    padding-bottom: 10px;
    color: #1e1b4b;
    border-bottom: 2px solid var(--primary);
    font-size: 18px;
    font-weight: 900;
}

.review-count {
    color: #8a8fa1;
    font-size: 13px;
    font-weight: 700;
}

.tab-block-body {
    color: #4b5563;
    font-size: 14px;
    line-height: 2;
    text-align: justify;
}

.tab-block-body table.shop_attributes {
    width: 100%;
    border-collapse: collapse;
}

.tab-block-body table.shop_attributes th,
.tab-block-body table.shop_attributes td {
    padding: 12px;
    border-bottom: 1px solid #f1edf8;
    text-align: right;
}

.tab-block-body table.shop_attributes th {
    width: 150px;
    color: #374151;
    font-weight: 900;
}

/* ستون چپ (باکس خرید چسبان) */
.product-col-left {
    position: sticky;
    top: 90px;
    z-index: 3;
}

.sticky-purchase-box {
    background: #fff;
    border: 1px solid #eeeaf5;
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 10px 30px rgba(44, 20, 80, .06);
}

.purchase-box-header {
    padding-bottom: 15px;
    margin-bottom: 16px;
    border-bottom: 1px solid #f1edf8;
}

.purchase-box-title {
    display: block;
    color: #1e1b4b;
    font-size: 17px;
    font-weight: 900;
}

.purchase-box-subtitle {
    display: block;
    margin-top: 5px;
    color: #8a8fa1;
    font-size: 11px;
}

/* کارت فروشنده */
.single-seller-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px;
    margin-bottom: 20px;
    border: 1px solid #eeeaf5;
    border-radius: 16px;
    background: #fff;
}

.seller-logo-wrap {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #eeeaf5;
    border-radius: 14px;
    background: #faf8ff;
}

.seller-logo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.seller-info {
    min-width: 0;
}

.seller-label {
    display: block;
    margin-bottom: 3px;
    color: #9297a7;
    font-size: 11px;
}

.seller-name {
    display: block;
    overflow: hidden;
    color: #1e1b4b;
    font-size: 14px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.seller-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 3px;
    color: #16a34a;
    font-size: 10px;
    font-weight: 800;
}

/* استایل فرم ووکامرس */
.product-selection-heading {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
}

.product-selection-heading h2 {
    margin: 0;
    color: #1e1b4b;
    font-size: 15px;
    font-weight: 900;
}

.selection-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 29px;
    height: 29px;
    color: var(--primary);
    border-radius: 9px;
    background: #f5f0ff;
}

.product-variations-form-wrap form.cart,
.product-variations-form-wrap form.variations_form {
    margin: 0;
}

.product-variations-form-wrap table.variations {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.product-variations-form-wrap table.variations td {
    padding: 0;
    vertical-align: middle;
}

.product-variations-form-wrap table.variations td.label {
    width: 78px;
    padding-left: 8px;
    color: #4b5563;
    font-size: 12px;
    font-weight: 800;
}

.product-variations-form-wrap table.variations td.value select {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    color: #374151;
    border: 1px solid #e2dcef;
    border-radius: 12px;
    outline: none;
    background: #fff;
    font-family: inherit;
    font-size: 12px;
    cursor: pointer;
    transition: all .2s ease;
}

.product-variations-form-wrap table.variations td.value select:hover,
.product-variations-form-wrap table.variations td.value select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(124, 58, 237, .08);
}

.product-variations-form-wrap .reset_variations {
    display: inline-block;
    margin-top: 3px;
    color: var(--primary);
    font-size: 11px;
    font-weight: 800;
}

.product-variations-form-wrap .woocommerce-variation {
    margin-top: 12px;
    padding: 11px 0;
    border-top: 1px solid #f1edf8;
}

.product-variations-form-wrap .woocommerce-variation-price {
    color: var(--primary);
    font-size: 18px;
    font-weight: 900;
}

.product-variations-form-wrap form.cart {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.product-variations-form-wrap .quantity {
    display: inline-flex;
    width: fit-content;
    height: 42px;
    overflow: hidden;
    border: 1px solid #e2dcef;
    border-radius: 11px;
}

.product-variations-form-wrap .quantity input.qty {
    width: 58px;
    border: 0;
    outline: none;
    text-align: center;
    font-family: inherit;
    font-weight: 800;
}

.product-variations-form-wrap button.single_add_to_cart_button,
.product-variations-form-wrap button.button {
    width: 100%;
    min-height: 46px;
    padding: 11px 16px;
    color: #fff;
    border: 0;
    border-radius: 13px;
    background: var(--primary);
    font-family: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    transition: all .2s ease;
}

.product-variations-form-wrap button.single_add_to_cart_button:hover,
.product-variations-form-wrap button.button:hover {
    background: var(--primary-2);
    transform: translateY(-1px);
}

.purchase-price-section,
.price-value,
.purchase-action-section {
    display: none !important;
}

.purchase-features-list {
    display: flex;
    flex-direction: column;
    gap: 11px;
    margin-top: 19px;
    padding-top: 16px;
    border-top: 1px solid #f1edf8;
}

.p-feature-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #73798a;
    font-size: 11px;
    line-height: 1.7;
}

.feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    color: #10b981;
    border-radius: 7px;
    background: #ecfdf5;
}

/* ---------------------------------------------------------
   نظرات تودرتو
--------------------------------------------------------- */
.comment-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.comment-body {
    margin-bottom: 14px;
    padding: 16px;
    border: 1px solid #eeeaf5;
    border-radius: 15px;
    background: #fbf9ff;
}

.children {
    margin-top: 12px;
    padding-right: 28px;
    border-right: 2px dashed #e6def5;
    list-style: none;
}

.comment-respond {
    margin-top: 22px;
    padding: 20px;
    border: 1px solid #eeeaf5;
    border-radius: 16px;
    background: #fff;
}

.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond textarea {
    width: 100%;
    padding: 11px 13px;
    border: 1px solid #e2dcef;
    border-radius: 11px;
    outline: none;
    background: #fff;
    font-family: inherit;
}

.comment-respond input[type="submit"] {
    padding: 11px 20px;
    color: #fff;
    border: 0;
    border-radius: 12px;
    background: var(--primary);
    font-family: inherit;
    font-weight: 800;
    cursor: pointer;
}

/* ---------------------------------------------------------
   محصولات مشابه
--------------------------------------------------------- */
.related-products-section {
    margin-top: 55px;
}

.section-title-custom {
    margin: 0 0 22px;
    color: #1e1b4b;
    font-size: 21px;
    font-weight: 900;
}

/* ---------------------------------------------------------
   واکنش‌گرا (Responsive)
--------------------------------------------------------- */
@media (max-width: 1100px) {
    .product-split-details-section {
        grid-template-columns: minmax(0, 1fr) 280px;
        gap: 20px;
    }
}

@media (max-width: 950px) {
    .product-top-intro-section {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .product-split-details-section {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .product-col-left {
        position: relative;
        top: auto;
        order: -1; /* در تبلت و موبایل باکس خرید بالاتر از توضیحات کامل قرار گیرد */
    }

    .sticky-purchase-box {
        max-width: 100%;
    }
}

@media (max-width: 700px) {
    .product-detail-title {
        font-size: 23px;
    }

    .tab-content-block {
        padding: 20px;
        border-radius: 18px;
    }
}

@media (max-width: 480px) {
    .single-product-wrapper {
        margin-top: 25px;
        margin-bottom: 50px;
    }

    .product-gallery-card,
    .sticky-purchase-box {
        padding: 15px;
        border-radius: 18px;
    }

    .product-detail-title {
        font-size: 21px;
    }

    .tab-block-title {
        font-size: 16px;
    }
}

/* ==========================================================================
   PRODUCT AUDIO PREVIEW & LYRICS
   ========================================================================== */

.product-media-lyrics-section {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 25px 0;
}

.product-audio-preview-card,
.product-lyrics-card {
    padding: 25px;
    border: 1px solid #eeeaf5;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(44, 20, 80, .025);
}

.product-section-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
}

.product-section-heading h2 {
    margin: 0;
    color: #1e1b4b;
    font-size: 18px;
    font-weight: 900;
}

.product-section-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--primary);
    border-radius: 10px;
    background: #f5f0ff;
}

.product-section-description {
    margin: 0 0 16px;
    color: #85899a;
    font-size: 13px;
    line-height: 1.8;
}

.netgo-product-audio {
    display: block;
    width: 100%;
    height: 46px;
    border-radius: 12px;
}

/* --------------------------------------------------------------------------
   شعر
-------------------------------------------------------------------------- */

.product-lyrics-card {
    overflow: hidden;
}

.lyrics-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.lyrics-couplet {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    color: #4b5563;
    font-size: 14px;
    line-height: 2;
}

.lyrics-couplet:first-child {
    padding-top: 5px;
}

.lyrics-couplet:last-child {
    border-bottom: 0;
}

.lyrics-line {
    min-width: 0;
    padding: 10px 14px;
    border-radius: 12px;
    background: #fbf9ff;
}

.lyrics-line-first {
    /*border-right: 3px solid var(--primary);*/
}

.lyrics-line-second {
    /*border-right: 3px solid #e4d7f8;*/
}

/*
 * همه بیت‌ها به‌جز بیت اول مخفی هستند.
 */
.lyrics-couplet.is-hidden {
    display: none;
}

/*
 * پس از بازشدن، بیت‌های مخفی نمایش داده می‌شوند.
 */
.lyrics-list.is-expanded .lyrics-couplet.is-hidden {
    display: grid;
}

.lyrics-toggle-link {
    display: inline-block;
    margin-top: 17px;
    color: var(--primary);
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.lyrics-toggle-link:hover {
    color: var(--primary-2);
    text-decoration: underline;
}

/* --------------------------------------------------------------------------
   واکنش‌گرا
-------------------------------------------------------------------------- */

@media (max-width: 700px) {
    .product-audio-preview-card,
    .product-lyrics-card {
        padding: 20px;
        border-radius: 18px;
    }

    .lyrics-couplet {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 10px 0;
    }

    .lyrics-line {
        padding: 9px 12px;
    }

    .lyrics-line-first,
    .lyrics-line-second {
        border-right-width: 3px;
    }
}

/* --------------------------------------------------------------------------
   PASSWORD FILE CARD
   -------------------------------------------------------------------------- */
.product-file-password-card {
    margin-top: 18px;
    padding: 15px;
    border: 1px dashed #d6cbe9;
    border-radius: 16px;
    background: #faf8ff;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pwd-header {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #6b21a8;
}

.pwd-icon {
    font-size: 13px;
}

.pwd-label {
    font-size: 11px;
    font-weight: 800;
}

.pwd-input-wrap {
    display: flex;
    border: 1px solid #e2dcef;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    height: 38px;
}

.pwd-value {
    flex: 1;
    border: 0;
    outline: none;
    background: transparent;
    padding: 0 10px;
    color: #374151;
    font-size: 12px;
    font-weight: 700;
    text-align: left; /* نمایش ساختار دامنه به شکل صحیح LTR */
    direction: ltr;
}

.pwd-copy-btn {
    border: 0;
    border-right: 1px solid #e2dcef;
    background: #fbf9ff;
    width: 40px;
    color: #7c3aed;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: all 0.2s ease;
}

.pwd-copy-btn:hover {
    background: #f3ebff;
    color: #5b21b6;
}

.pwd-copy-btn.copied {
    background: #ecfdf5;
    color: #059669;
}

.gap-multi-variations-wrapper{
    margin-bottom: 20px;
    padding: 15px;
    direction: rtl;
    text-align: right;
    font-size: 14px;
}


/* ==========================================================================
   CART PAGE
   ========================================================================== */

.netgo-cart-page {
    padding: 40px 0 70px;
}

.netgo-cart-header {
    margin-bottom: 24px;
}

.netgo-cart-title {
    margin: 0 0 8px;
    font-size: 30px;
    font-weight: 900;
    color: #1e1b4b;
}

.netgo-cart-subtitle {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.9;
}

.netgo-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 24px;
    align-items: start;
}

.netgo-cart-table-wrap {
    background: #fff;
    border: 1px solid #eeeaf5;
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 6px 24px rgba(44, 20, 80, .04);
}

.woocommerce-cart-form table.shop_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 14px;
    border: 0;
}

.woocommerce-cart-form table.shop_table thead th {
    font-size: 13px;
    font-weight: 800;
    color: #6b7280;
    border: 0;
    padding: 0 12px 8px;
    background: transparent;
}

.woocommerce-cart-form table.shop_table tbody tr.cart_item {
    background: #fff;
    box-shadow: 0 4px 18px rgba(44, 20, 80, .04);
}

.woocommerce-cart-form table.shop_table tbody tr.cart_item td {
    background: #fff;
    border-top: 1px solid #f2eff8;
    border-bottom: 1px solid #f2eff8;
    padding: 16px 12px;
    vertical-align: middle;
}

.woocommerce-cart-form table.shop_table tbody tr.cart_item td:first-child {
    border-right: 1px solid #f2eff8;
    border-top-right-radius: 18px;
    border-bottom-right-radius: 18px;
}

.woocommerce-cart-form table.shop_table tbody tr.cart_item td:last-child {
    border-left: 1px solid #f2eff8;
    border-top-left-radius: 18px;
    border-bottom-left-radius: 18px;
}

.woocommerce-cart-form .product-thumbnail img {
    width: 82px;
    height: 82px;
    object-fit: cover;
    border-radius: 14px;
    display: block;
}

.woocommerce-cart-form .product-name a {
    color: #1f2937;
    text-decoration: none;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.9;
}

.woocommerce-cart-form .product-name a:hover {
    color: var(--primary);
}

.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal {
    font-size: 14px;
    font-weight: 800;
    color: #111827;
}

.woocommerce-cart-form .quantity .qty {
    width: 76px;
    height: 42px;
    border: 1px solid #ddd6fe;
    border-radius: 12px;
    text-align: center;
    font-weight: 800;
    color: #1f2937;
    background: #fff;
}

.woocommerce-cart-form .product-remove .remove {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff1f2;
    color: #e11d48 !important;
    text-decoration: none;
    font-size: 14px;
    transition: all .2s ease;
}

.woocommerce-cart-form .product-remove .remove:hover {
    background: #ffe4e6;
    color: #be123c !important;
}

.woocommerce-cart-form .actions {
    padding-top: 18px !important;
    border: 0 !important;
    background: transparent !important;
}

.woocommerce-cart-form .coupon {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.woocommerce-cart-form .coupon label {
    font-size: 13px;
    font-weight: 700;
    color: #4b5563;
}

.woocommerce-cart-form .coupon .input-text {
    min-width: 220px;
    height: 44px;
    border: 1px solid #ddd6fe;
    border-radius: 12px;
    padding: 0 14px;
    background: #fff;
    color: #111827;
}

.woocommerce-cart-form button.button {
    height: 44px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--primary), var(--primary-2));
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    padding: 0 18px;
    box-shadow: none;
}

.woocommerce-cart-form button.button:hover {
    filter: brightness(.97);
    color: #fff;
}

.netgo-cart-sidebar {
    position: sticky;
    top: 120px;
}

.netgo-cart-totals-card {
    background: #fff;
    border: 1px solid #eeeaf5;
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 6px 24px rgba(44, 20, 80, .04);
}

/* totals */
.cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
}

.cart-collaterals .cart_totals h2 {
    margin: 0 0 16px;
    font-size: 20px;
    font-weight: 900;
    color: #1e1b4b;
}

.cart-collaterals .shop_table {
    border: 0 !important;
    margin-bottom: 18px;
}

.cart-collaterals .shop_table th,
.cart-collaterals .shop_table td {
    border-color: #f2eff8 !important;
    padding: 12px 0 !important;
    font-size: 14px;
}

.cart-collaterals .wc-proceed-to-checkout {
    margin-bottom: 0;
    padding-bottom: 0;
}

.cart-collaterals .checkout-button.button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--primary), var(--primary-2)) !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 900;
}

button,input{
    font-family: Vazirmatn;
}
/* responsive */
@media (max-width: 991px) {
    .netgo-cart-layout {
        grid-template-columns: 1fr;
    }

    .netgo-cart-sidebar {
        position: static;
    }
}

@media (max-width: 767px) {
    .netgo-cart-page {
        padding: 28px 0 50px;
    }

    .netgo-cart-title {
        font-size: 24px;
    }

    .netgo-cart-table-wrap {
        padding: 14px;
        border-radius: 18px;
    }

    .woocommerce-cart-form table.shop_table thead {
        display: none;
    }

    .woocommerce-cart-form table.shop_table,
    .woocommerce-cart-form table.shop_table tbody,
    .woocommerce-cart-form table.shop_table tr,
    .woocommerce-cart-form table.shop_table td {
        display: block;
        width: 100%;
    }

    .woocommerce-cart-form table.shop_table tbody tr.cart_item {
        margin-bottom: 14px;
        border-radius: 18px;
        overflow: hidden;
    }

    .woocommerce-cart-form table.shop_table tbody tr.cart_item td {
        border: 0 !important;
        border-bottom: 1px solid #f2eff8 !important;
        border-radius: 0 !important;
        padding: 12px 14px;
    }

    .woocommerce-cart-form table.shop_table tbody tr.cart_item td:last-child {
        border-bottom: 0 !important;
    }

    .woocommerce-cart-form td.product-thumbnail {
        text-align: center;
    }

    .woocommerce-cart-form .product-thumbnail img {
        margin: 0 auto;
    }

    .woocommerce-cart-form td.product-price::before,
    .woocommerce-cart-form td.product-quantity::before,
    .woocommerce-cart-form td.product-subtotal::before,
    .woocommerce-cart-form td.product-name::before {
        content: attr(data-title);
        display: block;
        margin-bottom: 6px;
        font-size: 12px;
        font-weight: 800;
        color: #6b7280;
    }

    .woocommerce-cart-form .coupon {
        flex-direction: column;
        align-items: stretch;
    }

    .woocommerce-cart-form .coupon .input-text,
    .woocommerce-cart-form button.button {
        width: 100%;
    }
}

.wc-proceed-to-checkout{
    font-size: 12px;
}

.woocommerce-cart-form .coupon label{
    text-align: right;
}




/* =====================================
   Custom WooCommerce Classic Checkout
   ===================================== */

.checkout-custom,
.custom-checkout-wrapper {
    max-width: 1180px;
    margin: 40px auto 60px;
    padding: 0 20px;
}

/* دو ستون هم‌اندازه */
.custom-checkout-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "order form";
    gap: 24px;
    align-items: start;
}

/* سمت راست */
.billing-info-column {
    grid-area: form;
}

/* سمت چپ */
.order-review-column {
    grid-area: order;
}

/* باکس‌های اصلی */
.custom-checkout-column {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.04);
}

.custom-section-title {
    margin: 0 0 22px;
    padding-bottom: 14px;
    border-bottom: 1px solid #edf0f3;
    color: #111827;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.8;
}

/* چون باکس اصلی داریم، باکس داخلی billing ساده باشد */
.custom-billing-fields {
    margin: 0;
    border: 0;
    background: transparent;
}

/* گرید فرم */
.custom-checkout-fields-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

/* اصلاح کامل ساختار فیلدهای ووکامرس */
.custom-checkout-fields-group .form-row,
.custom-checkout-fields-group .custom-field-row {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

/* موبایل، استان، شهر تمام عرض */
.custom-checkout-fields-group .field-billing_phone,
.custom-checkout-fields-group .field-billing_state,
.custom-checkout-fields-group .field-billing_city {
    grid-column: 1 / -1;
}

/* لیبل */
.custom-checkout-fields-group label {
    display: block;
    margin: 0 0 8px;
    color: #374151;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.9;
}

.custom-checkout-fields-group .required {
    color: #dc2626;
}

/* input/select */
.custom-checkout-fields-group input,
.custom-checkout-fields-group select,
.custom-checkout-fields-group .select2-selection--single {
    width: 100%;
    min-height: 50px;
    border: 1px solid #d6dbe3;
    border-radius: 12px;
    background: #fff;
    font: inherit;
    color: #111827;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
    box-sizing: border-box;
}

/* فقط برای input/select معمولی */
.custom-checkout-fields-group input,
.custom-checkout-fields-group select {
    padding: 0 14px;
    outline: 0;
}

/* select2 ووکامرس */
.custom-checkout-fields-group .select2-container .select2-selection--single {
    height: 50px;
    display: flex;
    align-items: center;
    padding: 0 14px;
}

.custom-checkout-fields-group .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 48px;
    padding: 0;
    color: #111827;
}

.custom-checkout-fields-group .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 48px;
    left: 10px;
    right: auto;
}

.custom-checkout-fields-group input::placeholder {
    color: #9ca3af;
    font-size: 13px;
}

.custom-checkout-fields-group input:focus,
.custom-checkout-fields-group select:focus,
.custom-checkout-fields-group .select2-container--focus .select2-selection--single,
.custom-checkout-fields-group .select2-container--open .select2-selection--single {
    border-color: #2563eb;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.10);
    outline: 0;
}

/* پیام خطا */
.custom-checkout-fields-group .woocommerce-invalid input,
.custom-checkout-fields-group .woocommerce-invalid select,
.custom-checkout-fields-group .woocommerce-invalid .select2-selection--single {
    border-color: #dc2626 !important;
}

/* باکس راهنما */
.checkout-help-box {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 24px;
    padding: 16px 18px;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
}

.checkout-help-box__icon {
    display: flex;
    flex: 0 0 32px;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #2563eb;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
}

.checkout-help-box__content strong {
    display: block;
    margin-bottom: 6px;
    color: #1e3a8a;
    font-size: 14px;
    font-weight: 800;
}

.checkout-help-box__content p {
    margin: 0;
    color: #31547d;
    font-size: 13px;
    line-height: 2;
}

/* جدول سفارش */
.order-review-column .woocommerce-checkout-review-order-table {
    width: 100%;
    margin: 0 0 18px;
    border: 0;
}

.order-review-column .woocommerce-checkout-review-order-table th,
.order-review-column .woocommerce-checkout-review-order-table td {
    padding: 13px 4px;
    border-color: #edf0f3;
    font-size: 14px;
}

.order-review-column .woocommerce-checkout-review-order-table .product-name {
    color: #374151;
    font-weight: 700;
}

.order-review-column .woocommerce-checkout-review-order-table .product-total,
.order-review-column .woocommerce-checkout-review-order-table .order-total td {
    color: #111827;
    font-weight: 800;
}

/* پرداخت */
.order-review-column .woocommerce-checkout-payment {
    margin-top: 18px;
}

/* دکمه ثبت سفارش */
.order-review-column #place_order {
    float: none !important;
    width: 100%;
    min-height: 54px;
    margin-top: 16px;
    border-radius: 12px;
    font: inherit;
    font-weight: 800;
}

/* تبلت */
@media (max-width: 980px) {
    .custom-checkout-wrapper {
        max-width: 100%;
        margin: 30px auto 50px;
        padding: 0 16px;
    }

    .custom-checkout-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "form"
            "order";
    }
}

/* موبایل */
@media (max-width: 540px) {
    .custom-checkout-column {
        padding: 20px;
        border-radius: 14px;
    }

    .custom-checkout-fields-group {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .custom-checkout-fields-group .field-billing_phone,
    .custom-checkout-fields-group .field-billing_state,
    .custom-checkout-fields-group .field-billing_city {
        grid-column: auto;
    }

    .checkout-custom,
    .custom-checkout-wrapper {
        padding: 0 12px;
    }
}

/* =========================================
   Checkout Fields - CSS for .custom-checkout-fields
   ========================================= */

/* کانتینر کلی فیلدها */
.woocommerce .custom-checkout-fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    direction: rtl !important;
    box-sizing: border-box !important;
}


/* تمام ردیف‌های فرم ووکامرس */
.woocommerce .custom-checkout-fields > p.form-row {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* نام و نام خانوادگی: دو ستون کنار هم */
.woocommerce .custom-checkout-fields > #billing_first_name_field,
.woocommerce .custom-checkout-fields > #billing_last_name_field {
    grid-column: span 1 !important;
}

/* شماره همراه، استان و شهر: تمام عرض */
.woocommerce .custom-checkout-fields > #billing_phone_field,
.woocommerce .custom-checkout-fields > #billing_state_field,
.woocommerce .custom-checkout-fields > #billing_city_field {
    grid-column: 1 / -1 !important;
}

/* لیبل فیلد */
.woocommerce .custom-checkout-fields > p.form-row label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #344054 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.8 !important;
    text-align: right !important;
    box-sizing: border-box !important;
}

/* ستاره اجباری بودن */
.woocommerce .custom-checkout-fields .required {
    color: #dc2626 !important;
    font-size: 14px !important;
}

/* Wrapper داخلی ووکامرس */
.woocommerce .custom-checkout-fields .woocommerce-input-wrapper {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* فیلدهای input */
.woocommerce .custom-checkout-fields input.input-text,
.woocommerce .custom-checkout-fields input[type="text"],
.woocommerce .custom-checkout-fields input[type="tel"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #1d2939 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 52px !important;
    text-align: right !important;
    direction: rtl !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}

/* Placeholder */
.woocommerce .custom-checkout-fields input::placeholder {
    color: #98a2b3 !important;
    opacity: 1 !important;
    font-size: 13px !important;
}

/* فوکوس Input */
.woocommerce .custom-checkout-fields input.input-text:focus,
.woocommerce .custom-checkout-fields input[type="text"]:focus,
.woocommerce .custom-checkout-fields input[type="tel"]:focus {
    border-color: #2563eb !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .12) !important;
}

/* خود select اصلی؛ معمولاً مخفی است چون Select2 فعال است */
.woocommerce .custom-checkout-fields select {
    width: 100% !important;
    max-width: 100% !important;
}

/* کانتینر Select2 استان */
.woocommerce .custom-checkout-fields .select2-container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    direction: rtl !important;
}

/* ظاهر کادر انتخاب استان */
.woocommerce .custom-checkout-fields .select2-container--default .select2-selection--single {
    display: block !important;
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #1d2939 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}

/* متن انتخاب‌شده در Select2 */
.woocommerce .custom-checkout-fields .select2-container--default
.select2-selection--single .select2-selection__rendered {
    display: block !important;
    padding: 0 16px !important;
    color: #1d2939 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 50px !important;
    text-align: right !important;
    direction: rtl !important;
}

/* فلش Select2 در سمت چپ */
.woocommerce .custom-checkout-fields .select2-container--default
.select2-selection--single .select2-selection__arrow {
    top: 1px !important;
    right: auto !important;
    left: 12px !important;
    width: 24px !important;
    height: 50px !important;
}

/* فوکوس Select2 */
.woocommerce .custom-checkout-fields .select2-container--default.select2-container--focus
.select2-selection--single,
.woocommerce .custom-checkout-fields .select2-container--default.select2-container--open
.select2-selection--single {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .12) !important;
}

/* خطای اعتبارسنجی ووکامرس */
.woocommerce .custom-checkout-fields p.woocommerce-invalid input.input-text,
.woocommerce .custom-checkout-fields p.woocommerce-invalid input[type="text"],
.woocommerce .custom-checkout-fields p.woocommerce-invalid input[type="tel"],
.woocommerce .custom-checkout-fields p.woocommerce-invalid .select2-selection--single {
    border-color: #dc2626 !important;
}

/* موبایل: همه فیلدها زیر هم */
@media (max-width: 540px) {
    .woocommerce .custom-checkout-fields {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }

    .woocommerce .custom-checkout-fields > #billing_first_name_field,
    .woocommerce .custom-checkout-fields > #billing_last_name_field,
    .woocommerce .custom-checkout-fields > #billing_phone_field,
    .woocommerce .custom-checkout-fields > #billing_state_field,
    .woocommerce .custom-checkout-fields > #billing_city_field {
        grid-column: 1 / -1 !important;
    }
}


/* =========================================================
   WooCommerce My Account - Premium RTL UI
   ========================================================= */

body.woocommerce-account .woocommerce {
    max-width: 1280px;
    margin: 40px auto;
    padding: 0 20px;
    box-sizing: border-box;
    direction: rtl;
}

/* لایه اصلی */
body.woocommerce-account .woocommerce::after,
body.woocommerce-account .woocommerce::before {
    content: "";
    display: table;
    clear: both;
}

/* چیدمان دو ستونه */
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 320px;
    flex: 0 0 320px;
}

body.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1 1 auto;
    min-width: 0;
}

body.woocommerce-account .woocommerce {
    display: flex;
    flex-direction: row-reverse; /* منو سمت راست */
    gap: 24px;
    align-items: flex-start;
}

/* کارت منو */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    background: linear-gradient(180deg, #ffffff 0%, #faf7ff 100%);
    border: 1px solid #ece7f6;
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 10px 35px rgba(30, 22, 48, 0.08);
    position: sticky;
    top: 24px;
}

/* حذف لیست پیش فرض */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* آیتم‌ها */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0 0 10px;
    padding: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    margin-bottom: 0;
}

/* لینک آیتم‌ها */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 56px;
    padding: 14px 18px;
    border-radius: 16px;
    text-decoration: none;
    background: #fff;
    border: 1px solid #eee8f8;
    color: #2f2347;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.8;
    transition: all .25s ease;
    box-shadow: 0 4px 14px rgba(30, 22, 48, 0.04);
}

/* افکت هاور */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: #f7f1ff;
    border-color: #d7c6f3;
    color: #4c1d95;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(76, 29, 149, 0.10);
}

/* آیتم فعال */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: linear-gradient(135deg, #5b21b6 0%, #7c3aed 100%);
    border-color: #6d28d9;
    color: #fff;
    box-shadow: 0 12px 28px rgba(91, 33, 182, 0.28);
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover {
    color: #fff;
}

/* محتوا */
body.woocommerce-account .woocommerce-MyAccount-content {
    background: #fff;
    border: 1px solid #ece7f6;
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 10px 35px rgba(30, 22, 48, 0.08);
}

/* متن‌ها */
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-content p,
body.woocommerce-account .woocommerce-MyAccount-content span,
body.woocommerce-account .woocommerce-MyAccount-content div,
body.woocommerce-account .woocommerce-MyAccount-content li,
body.woocommerce-account .woocommerce-MyAccount-content a {
    color: #2f2347;
}

/* تیترها */
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3,
body.woocommerce-account .woocommerce-MyAccount-content legend {
    color: #1f1630;
    font-weight: 800;
    margin-bottom: 18px;
}

/* جداول سفارشات / دانلودها */
body.woocommerce-account .woocommerce table.shop_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #eee8f8;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    margin: 0;
}

body.woocommerce-account .woocommerce table.shop_table thead th {
    background: #f8f5ff;
    color: #3a2d55;
    font-weight: 800;
    font-size: 14px;
    padding: 16px 14px;
    border-bottom: 1px solid #eee8f8;
    text-align: right;
}

body.woocommerce-account .woocommerce table.shop_table tbody td {
    padding: 16px 14px;
    border-bottom: 1px solid #f3eefb;
    color: #4b3b68;
    text-align: right;
    vertical-align: middle;
}

body.woocommerce-account .woocommerce table.shop_table tbody tr:last-child td {
    border-bottom: 0;
}

/* دکمه‌ها */
body.woocommerce-account .woocommerce a.button,
body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce input.button,
body.woocommerce-account .woocommerce .button {
    min-height: 46px;
    padding: 10px 18px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #5b21b6 0%, #7c3aed 100%) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.6 !important;
    box-shadow: 0 10px 24px rgba(91, 33, 182, 0.22) !important;
    transition: all .25s ease !important;
}

body.woocommerce-account .woocommerce a.button:hover,
body.woocommerce-account .woocommerce button.button:hover,
body.woocommerce-account .woocommerce input.button:hover,
body.woocommerce-account .woocommerce .button:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(91, 33, 182, 0.28) !important;
    filter: brightness(1.03);
}

/* فرم‌ها */
body.woocommerce-account .woocommerce form .form-row {
    margin-bottom: 18px;
}

body.woocommerce-account .woocommerce form .form-row label {
    display: block;
    margin-bottom: 8px;
    color: #2f2347;
    font-size: 14px;
    font-weight: 700;
}

body.woocommerce-account .woocommerce form input[type="text"],
body.woocommerce-account .woocommerce form input[type="email"],
body.woocommerce-account .woocommerce form input[type="password"],
body.woocommerce-account .woocommerce form input[type="tel"],
body.woocommerce-account .woocommerce form select,
body.woocommerce-account .woocommerce form textarea {
    width: 100%;
    min-height: 54px;
    padding: 0 16px;
    border: 1px solid #ddd6ee;
    border-radius: 14px;
    background: #fff;
    color: #2b2140;
    font-size: 14px;
    box-sizing: border-box;
    transition: all .2s ease;
}

body.woocommerce-account .woocommerce form textarea {
    min-height: 140px;
    padding-top: 14px;
}

body.woocommerce-account .woocommerce form input:focus,
body.woocommerce-account .woocommerce form select:focus,
body.woocommerce-account .woocommerce form textarea:focus {
    border-color: #7c3aed;
    box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.10);
    outline: none;
}

/* باکس خوش‌آمدگویی پیشخوان */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-MyAccount-dashboard {
    line-height: 2;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-MyAccount-dashboard p:first-child {
    padding: 18px 20px;
    border-radius: 16px;
    background: linear-gradient(135deg, #f6f0ff 0%, #f3f8ff 100%);
    border: 1px solid #e9ddff;
    color: #35214f;
    font-weight: 600;
}

/* اعلان ها */
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error {
    margin: 0 0 20px;
    padding: 16px 18px;
    border-radius: 16px;
    border: 1px solid #ece7f6;
    box-shadow: 0 8px 24px rgba(30, 22, 48, 0.05);
}

body.woocommerce-account .woocommerce-message {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #166534;
}

body.woocommerce-account .woocommerce-info {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1d4ed8;
}

body.woocommerce-account .woocommerce-error {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}

/* لینک خروج رنگ متفاوت */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
    background: #fff5f5;
    border-color: #ffd7d7;
    color: #b91c1c;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background: #fee2e2;
    border-color: #fecaca;
    color: #991b1b;
}

/* موبایل */
@media (max-width: 980px) {
    body.woocommerce-account .woocommerce {
        display: block;
        margin: 24px auto;
        padding: 0 14px;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100%;
        margin-bottom: 18px;
        position: static;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        width: 100%;
        padding: 20px;
    }
}

/* موبایل ریز */
@media (max-width: 640px) {
    body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        min-height: 50px;
        padding: 12px 14px;
        font-size: 14px;
        border-radius: 14px;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        border-radius: 18px;
        padding: 16px;
    }

    body.woocommerce-account .woocommerce table.shop_table thead th,
    body.woocommerce-account .woocommerce table.shop_table tbody td {
        padding: 12px 10px;
        font-size: 12px;
    }
}


/* =========================================================
   Downloadable products on WooCommerce thank-you page
   ========================================================= */

/* بخش فایل‌های خریداری‌شده */
body.woocommerce-order-received .purchased-downloads-box {
    direction: rtl;
    max-width: 980px;
    margin: 28px auto 42px;
    padding: 26px;
    border: 1px solid #e8e1f4;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 38px rgba(30, 22, 48, 0.08);
    box-sizing: border-box;
}

/* هدر */
body.woocommerce-order-received .purchased-downloads-heading {
    margin-bottom: 22px;
    padding: 20px;
    border: 1px solid #ded0f5;
    border-right: 5px solid #6d28d9;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8f4ff 0%, #f3f8ff 100%);
}

body.woocommerce-order-received .purchased-downloads-kicker {
    display: block;
    margin-bottom: 6px;
    color: #6d28d9;
    font-size: 13px;
    font-weight: 800;
}

body.woocommerce-order-received .purchased-downloads-heading h2 {
    margin: 0 0 8px;
    color: #211532;
    font-size: 21px;
    font-weight: 900;
    line-height: 1.8;
}

body.woocommerce-order-received .purchased-downloads-heading p {
    margin: 0;
    color: #625675;
    font-size: 14px;
    font-weight: 600;
    line-height: 2;
}

/* لیست فایل‌ها */
body.woocommerce-order-received .purchased-downloads-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* هر فایل */
body.woocommerce-order-received .purchased-download-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px;
    border: 1px solid #eee9f6;
    border-radius: 16px;
    background: #fff;
    transition: all .25s ease;
}

body.woocommerce-order-received .purchased-download-item:hover {
    border-color: #cfb9f2;
    box-shadow: 0 9px 25px rgba(91, 33, 182, 0.09);
    transform: translateY(-2px);
}

/* مشخصات فایل */
body.woocommerce-order-received .purchased-download-info {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 13px;
}

body.woocommerce-order-received .purchased-download-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: #f0e9ff;
    color: #6d28d9;
    font-size: 28px;
    font-weight: 900;
}

body.woocommerce-order-received .purchased-download-text {
    min-width: 0;
}

body.woocommerce-order-received .purchased-download-text h3 {
    margin: 0 0 4px;
    overflow: hidden;
    color: #2b1c41;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.8;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.woocommerce-order-received .purchased-download-file {
    display: block;
    overflow: hidden;
    color: #766889;
    font-size: 12px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* دکمه دانلود */
body.woocommerce-order-received .purchased-download-button,
body.woocommerce-order-received a.button.purchased-download-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 46px;
    padding: 10px 18px !important;
    border: 0 !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, #5b21b6 0%, #7c3aed 100%) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.6 !important;
    text-decoration: none !important;
    box-shadow: 0 9px 20px rgba(91, 33, 182, 0.23) !important;
    transition: all .22s ease !important;
}

body.woocommerce-order-received .purchased-download-button:hover {
    color: #fff !important;
    filter: brightness(1.06);
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(91, 33, 182, 0.32) !important;
}

/* نکته پایین باکس */
body.woocommerce-order-received .purchased-download-note {
    margin-top: 18px;
    padding: 13px 15px;
    border-radius: 13px;
    background: #f8f7fb;
    color: #655a73;
    font-size: 13px;
    font-weight: 600;
    line-height: 2;
}

body.woocommerce-order-received .purchased-download-note strong {
    color: #44206f;
}

/* موبایل */
@media (max-width: 640px) {
    body.woocommerce-order-received .purchased-downloads-box {
        margin: 20px 15px 34px;
        padding: 16px;
        border-radius: 18px;
    }

    body.woocommerce-order-received .purchased-downloads-heading {
        padding: 16px;
    }

    body.woocommerce-order-received .purchased-downloads-heading h2 {
        font-size: 18px;
    }

    body.woocommerce-order-received .purchased-download-item {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }

    body.woocommerce-order-received .purchased-download-button {
        width: 100%;
    }
}


/* ==========================================================
   Custom WooCommerce Thank You / Order Received Page
   ========================================================== */

body.woocommerce-order-received .woocommerce {
    direction: rtl;
}

body.woocommerce-order-received .custom-thankyou-page {
    width: min(100% - 30px, 960px);
    margin: 40px auto 65px;
    font-family: inherit;
}

/* کارت وضعیت */
body.woocommerce-order-received .custom-thankyou-status {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 20px;
    padding: 28px;
    border: 1px solid #dfd4f0;
    border-radius: 22px;
    background: linear-gradient(135deg, #fbf9ff 0%, #f5f9ff 100%);
    box-shadow: 0 14px 36px rgba(39, 24, 67, 0.08);
}

body.woocommerce-order-received .custom-thankyou-status--pending {
    border-color: #f0d8a6;
    background: linear-gradient(135deg, #fffdf7 0%, #fff8e8 100%);
}

body.woocommerce-order-received .custom-thankyou-status-icon {
    display: inline-flex;
    flex: 0 0 56px;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: #6d28d9;
    color: #fff;
    font-size: 29px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 10px 22px rgba(109, 40, 217, 0.25);
}

body.woocommerce-order-received .custom-thankyou-status--pending .custom-thankyou-status-icon {
    background: #d97706;
    box-shadow: 0 10px 22px rgba(217, 119, 6, 0.22);
}

body.woocommerce-order-received .custom-thankyou-status-content {
    min-width: 0;
}

body.woocommerce-order-received .custom-thankyou-eyebrow {
    display: block;
    margin-bottom: 4px;
    color: #6d28d9;
    font-size: 13px;
    font-weight: 800;
}

body.woocommerce-order-received .custom-thankyou-status h1 {
    margin: 0 0 8px;
    color: #25163e;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.8;
}

body.woocommerce-order-received .custom-thankyou-status p {
    margin: 0;
    color: #6d607a;
    font-size: 14px;
    font-weight: 600;
    line-height: 2;
}

body.woocommerce-order-received .custom-thankyou-order-number {
    display: inline-block;
    margin-top: 15px;
    padding: 8px 12px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.8);
    color: #655775;
    font-size: 13px;
}

body.woocommerce-order-received .custom-thankyou-order-number strong {
    color: #32195a;
    font-weight: 900;
}

/* بخش دانلودها */
body.woocommerce-order-received .custom-thankyou-downloads {
    padding: 22px;
    border: 1px solid #ece7f4;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(39, 24, 67, 0.06);
}

body.woocommerce-order-received .custom-thankyou-downloads-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 17px;
}

body.woocommerce-order-received .custom-thankyou-downloads-head h2 {
    margin: 0;
    color: #291a43;
    font-size: 18px;
    font-weight: 900;
}

body.woocommerce-order-received .custom-thankyou-downloads-head span {
    padding: 6px 10px;
    border-radius: 9px;
    background: #f1ebfb;
    color: #6530be;
    font-size: 12px;
    font-weight: 800;
}

body.woocommerce-order-received .custom-thankyou-downloads-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

body.woocommerce-order-received .custom-thankyou-download-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 15px;
    border: 1px solid #eeeaf4;
    border-radius: 16px;
    background: #fff;
    transition: 0.22s ease;
}

body.woocommerce-order-received .custom-thankyou-download-item:hover {
    border-color: #cdb6f2;
    box-shadow: 0 9px 22px rgba(89, 39, 160, 0.09);
    transform: translateY(-2px);
}

body.woocommerce-order-received .custom-thankyou-file-icon {
    display: inline-flex;
    flex: 0 0 48px;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #eee5ff;
    color: #6d28d9;
}

body.woocommerce-order-received .custom-thankyou-file-icon svg {
    width: 23px;
    height: 23px;
}

body.woocommerce-order-received .custom-thankyou-file-info {
    min-width: 0;
    flex: 1;
}

body.woocommerce-order-received .custom-thankyou-file-info h3 {
    overflow: hidden;
    margin: 0 0 4px;
    color: #2a1a43;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.8;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.woocommerce-order-received .custom-thankyou-file-info p {
    overflow: hidden;
    margin: 0;
    color: #786d88;
    font-size: 12px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* دکمه‌ها */
body.woocommerce-order-received .custom-thankyou-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 46px;
    padding: 10px 16px !important;
    border: 0 !important;
    border-radius: 13px !important;
    background: #6d28d9 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.4;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(109, 40, 217, 0.22);
    transition: 0.2s ease;
}

body.woocommerce-order-received .custom-thankyou-btn:hover {
    background: #551bb6 !important;
    color: #fff !important;
    transform: translateY(-2px);
}

body.woocommerce-order-received .custom-thankyou-download-arrow {
    font-size: 19px;
    line-height: 1;
}

/* لینک‌های پایین */
body.woocommerce-order-received .custom-thankyou-bottom-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

body.woocommerce-order-received .custom-thankyou-bottom-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 8px 14px;
    border: 1px solid #e2d8f1;
    border-radius: 12px;
    background: #fff;
    color: #5424a1;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: 0.2s ease;
}

body.woocommerce-order-received .custom-thankyou-bottom-actions a:hover {
    border-color: #a980e4;
    background: #f7f2ff;
}

/* حالت عدم وجود دانلود */
body.woocommerce-order-received .custom-thankyou-empty-downloads {
    padding: 24px;
    border: 1px solid #eee8f4;
    border-radius: 18px;
    background: #fff;
    text-align: center;
}

body.woocommerce-order-received .custom-thankyou-empty-downloads h2 {
    margin: 0 0 8px;
    color: #2a1a43;
    font-size: 17px;
    font-weight: 900;
}

body.woocommerce-order-received .custom-thankyou-empty-downloads p {
    margin: 0;
    color: #70637f;
    font-size: 14px;
    line-height: 2;
}

/* موبایل */
@media (max-width: 640px) {
    body.woocommerce-order-received .custom-thankyou-page {
        width: calc(100% - 28px);
        margin-top: 22px;
        margin-bottom: 42px;
    }

    body.woocommerce-order-received .custom-thankyou-status {
        gap: 13px;
        padding: 18px;
        border-radius: 18px;
    }

    body.woocommerce-order-received .custom-thankyou-status-icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        border-radius: 13px;
        font-size: 23px;
    }

    body.woocommerce-order-received .custom-thankyou-status h1 {
        font-size: 17px;
    }

    body.woocommerce-order-received .custom-thankyou-downloads {
        padding: 15px;
        border-radius: 18px;
    }

    body.woocommerce-order-received .custom-thankyou-download-item {
        align-items: stretch;
        flex-wrap: wrap;
    }

    body.woocommerce-order-received .custom-thankyou-file-info {
        width: calc(100% - 62px);
        flex: initial;
    }

    body.woocommerce-order-received .custom-thankyou-btn--download {
        width: 100%;
    }

    body.woocommerce-order-received .custom-thankyou-bottom-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    body.woocommerce-order-received .custom-thankyou-bottom-actions a {
        justify-content: center;
    }
}


/* =========================================
   Search page - same structure as shop
   ========================================= */

.search-page-template .shop-header-search-wrap {
    margin-bottom: 28px;
}

.search-page-template .shop-search-form {
    width: 100%;
}

.search-page-template .search-input-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
}

.search-page-template .search-submit-btn {
    width: 52px;
    height: 52px;
    min-width: 52px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, #7c3aed, #5b21b6);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(124, 58, 237, 0.18);
    transition: all 0.2s ease;
}

.search-page-template .search-submit-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(124, 58, 237, 0.24);
}

.search-page-template .shop-search-input {
    width: 100%;
    border: 0;
    outline: none;
    background: transparent;
    color: #4b5563;
    font-size: 14px;
}

.search-page-template .shop-search-input::placeholder {
    color: #9ca3af;
}

.search-page-template .filter-icon {
    color: #7c3aed;
    font-size: 18px;
    line-height: 1;
}

.search-page-template .filter-checkbox-label input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: #7c3aed;
    cursor: pointer;
}

.search-page-template .clear-filters-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    margin-top: 10px;
    border-radius: 14px;
    background: #f4f0ff;
    color: #5b21b6;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
}

.search-page-template .clear-filters-btn:hover {
    background: #ede9fe;
    color: #4c1d95;
}

.search-page-template .products-ordering .orderby {
    min-width: 180px;
}

.search-page-template .search-no-results {
    padding: 56px 24px;
    text-align: center;
}

.search-page-template .search-no-results h2 {
    margin: 0 0 12px;
    color: #241b52;
    font-size: 24px;
    font-weight: 800;
}

.search-page-template .search-no-results p {
    margin: 0 0 22px;
    color: #6b7280;
    font-size: 15px;
    line-height: 1.9;
}

.search-page-template .reset-shop-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 14px;
    background: linear-gradient(135deg, #7c3aed, #5b21b6);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    box-shadow: 0 12px 28px rgba(124, 58, 237, 0.18);
    transition: all 0.2s ease;
}

.search-page-template .reset-shop-btn:hover {
    transform: translateY(-1px);
    color: #fff;
}

.search-page-template .shop-pagination {
    margin-top: 32px;
}

.search-page-template .shop-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    margin: 0 4px;
    padding: 0 12px;
    border-radius: 12px;
    background: #fff;
    color: #4b5563;
    text-decoration: none;
    border: 1px solid #ece7fb;
    transition: all 0.2s ease;
}

.search-page-template .shop-pagination .page-numbers.current,
.search-page-template .shop-pagination .page-numbers:hover {
    background: #7c3aed;
    color: #fff;
    border-color: #7c3aed;
}

@media (max-width: 1024px) {
    .search-page-template .shop-layout {
        gap: 24px;
    }
}

@media (max-width: 768px) {
    .search-page-template .shop-header-search-wrap {
        gap: 18px;
    }

    .search-page-template .shop-toolbar {
        gap: 14px;
    }

    .search-page-template .products-ordering,
    .search-page-template .products-ordering .woocommerce-ordering,
    .search-page-template .products-ordering .orderby {
        width: 100%;
    }

    .search-page-template .products-ordering .orderby {
        min-width: 100%;
    }
}



/* استایل گروه فیلترها (آکاردئون) */
.filter-group {
    border-bottom: 1px solid #e0e0e0;
    padding: 12px 0;
    transition: all 0.3s ease;
}

/* عنوان و فلش باز/بسته شدن */
.filter-group-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    font-weight: 600;
    color: #3f3f3f;
    cursor: pointer;
    list-style: none; /* حذف فلش مرورگر */
    user-select: none;
}

/* حذف فلش پیش‌فرض مرورگرهای آنلاین مانند Safari/Chrome */
.filter-group-title::-webkit-details-marker {
    display: none;
}

/* چرخش فلش هنگام باز شدن */
.toggle-icon {
    font-size: 16px;
    transition: transform 0.3s ease;
    color: #818181;
}

details[open] .toggle-icon {
    transform: rotate(180deg);
}

/* محتوای داخلی فیلترها */
.filter-options {
    padding-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Container دکمه‌های کپسولی خطی */
.horizontal-pills-wrapper {
    margin-bottom: 20px;
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: 10px;
    -webkit-overflow-scrolling: touch;
}

.pills-container {
    display: inline-flex;
    gap: 10px;
    align-items: center;
}

.filter-pill-btn {
    background: #ffffff;
    border: 1px solid #dcdfe6;
    border-radius: 25px;
    padding: 8px 18px;
    font-size: 14px;
    color: #333;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.filter-pill-btn:hover,
.filter-pill-btn.active {
    border-color: #3182ce;
    color: #3182ce;
    background-color: #f0f7ff;
}

.clear-all-pill {
    color: #e53e3e;
    font-size: 13px;
    text-decoration: none;
    padding: 0 8px;
}

/* ساختار پاپ‌آپ از پایین (Bottom Sheet) */
.bottom-sheet-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
}

.bottom-sheet-overlay.show {
    opacity: 1;
    visibility: visible;
}

.bottom-sheet-modal {
    position: fixed;
    bottom: -100%;
    left: 0;
    right: 0;
    background: #fff;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
    z-index: 9999;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    transition: bottom 0.3s ease-in-out;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
}

.bottom-sheet-modal.open {
    bottom: 0;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
}

.modal-header h4 {
    margin: 0;
    font-size: 16px;
}

.close-sheet-btn {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #888;
}

.modal-body {
    padding: 15px 20px;
    overflow-y: auto;
}

.modal-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid #f7f7f7;
    cursor: pointer;
}

.cat-group-title {
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 5px;
    color: #666;
}

.modal-footer {
    padding: 15px 20px;
    border-top: 1px solid #eee;
}

.apply-modal-btn {
    width: 100%;
    background: #3182ce;
    color: #fff;
    border: none;
    padding: 12px;
    border-radius: 8px;
    font-weight: bold;
    cursor: pointer;
}

.shop-sidebar {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 16px;
}

.filter-sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid #f0f0f0;
}

.filter-sidebar-header h3 {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    margin: 0;
}

.clear-filters-btn {
    color: #19bfd3;
    font-size: 13px;
    text-decoration: none;
}

.filter-group.accordion-item {
    border-bottom: 1px solid #f0f0f0;
    padding: 12px 0;
}

.filter-group.accordion-item:last-child {
    border-bottom: none;
}

.accordion-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    user-select: none;
}

.filter-group-title {
    font-size: 15px;
    font-weight: 600;
    color: #3f404c;
}

.accordion-icon {
    font-size: 12px;
    color: #81858b;
    transition: transform 0.3s ease;
}

.accordion-content {
    display: none;
    padding-top: 12px;
}

/* باز شدن آکاردئون در حالت active */
.accordion-item.active .accordion-content {
    display: block;
}

.accordion-item.active .accordion-icon {
    transform: rotate(180deg);
}


/* مخفی‌سازی نوار موبایل در دسکتاپ */
.mobile-filter-bar {
    display: none;
}

/* استایل‌های اختصاصی موبایل */
@media (max-width: 768px) {
    .shop-sidebar {
        display: none !important; /* مخفی شدن سایدبار راست در موبایل */
    }

    /* نوار چیپ‌های افقی */
    .mobile-filter-bar {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding: 10px 0;
        margin-bottom: 15px;
        scrollbar-width: none;
    }
    .mobile-filter-bar::-webkit-scrollbar {
        display: none;
    }

    .mobile-chip-btn {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 8px 14px;
        border: 1px solid #e0e0e0;
        border-radius: 50px;
        background: #fff;
        white-space: nowrap;
        font-size: 13px;
        color: #3f404c;
        cursor: pointer;
    }

    .mobile-chip-btn.active {
        border-color: #0056b3;
        color: #0056b3;
        background: #f0f7ff;
    }

    .filter-badge {
        background: #ef4056;
        color: #fff;
        border-radius: 50%;
        padding: 2px 6px;
        font-size: 11px;
    }

    /* پاپ‌آپ کشویی کشویی از پایین */
    .bottom-sheet-overlay {
        position: fixed;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(0,0,0,0.5);
        z-index: 9998;
        display: none;
    }

    .bottom-sheet-modal {
        position: fixed;
        bottom: -100%;
        left: 0; right: 0;
        background: #fff;
        border-radius: 16px 16px 0 0;
        z-index: 9999;
        transition: bottom 0.3s ease-in-out;
        max-height: 80vh;
        display: flex;
        flex-direction: column;
    }

    .bottom-sheet-modal.show {
        bottom: 0;
    }

    .bottom-sheet-overlay.show {
        display: block;
    }

    .bottom-sheet-header {
        padding: 12px 16px;
        border-bottom: 1px solid #eee;
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
    }

    .sheet-drag-handle {
        width: 36px;
        height: 4px;
        background: #ccc;
        border-radius: 2px;
        position: absolute;
        top: 6px;
        left: 50%;
        transform: translateX(-50%);
    }

    .bottom-sheet-body {
        padding: 16px;
        overflow-y: auto;
    }

    .bottom-sheet-footer {
        padding: 12px 16px;
        border-top: 1px solid #eee;
    }

    .apply-filter-btn {
        width: 100%;
        padding: 12px;
        background: #ef4056;
        color: #fff;
        border: none;
        border-radius: 8px;
        font-weight: bold;
    }
}

/* مخفی در دسکتاپ */
.custom-mobile-bottom-nav {
    display: none;
}

/* نمایش فقط در موبایل */
@media screen and (max-width: 991px) {
    body {
        padding-bottom: 75px !important;
    }

    .custom-mobile-bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 12px !important;
        left: 12px !important;
        right: 12px !important;
        height: 60px !important;
        background: rgba(255, 255, 255, 0.95) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border-radius: 18px !important;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12) !important;
        z-index: 100 !important; /* پایین‌تر از پاپ‌آپ فیلترها (99999) */
        align-items: center !important;
        justify-content: space-around !important;
        padding: 0 8px !important;
    }

    .custom-mobile-bottom-nav .mobile-nav-list {
        display: flex !important;
        width: 100% !important;
        justify-content: space-around !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .custom-mobile-bottom-nav .mobile-nav-list > li {
        flex: 1 !important;
        text-align: center !important;
    }

    .custom-mobile-bottom-nav .mobile-nav-list > li > a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        color: #555555 !important;
        text-decoration: none !important;
        gap: 3px !important;
    }

    /* پشتیبانی از آیکون‌های FontAwesome یا آیکون‌های داخلی */
    .custom-mobile-bottom-nav .mobile-nav-list > li > a i {
        font-size: 18px !important;
        margin-bottom: 2px !important;
    }

    /* آیتم فعال */
    .custom-mobile-bottom-nav .mobile-nav-list > li.current-menu-item > a {
        color: #0073aa !important;
    }
}

.custom-mobile-bottom-nav .mobile-nav-list > li > a {
    position: relative !important;
}

.custom-mobile-bottom-nav .cart-badge {
    position: absolute !important;
    top: 2px !important;
    left: 50% !important;
    margin-left: 6px !important;
    background-color: #e53935 !important;
    color: #ffffff !important;
    font-size: 9px !important;
    font-weight: bold !important;
    min-width: 15px !important;
    height: 15px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2px !important;
    line-height: 1 !important;
    border: 1px solid #ffffff !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}
.custom-logo{
    width: 128px;
}