/* Banner Slider – تمام‌عرض مثل دیجی‌کالا؛ تصویر کل کادر را پر می‌کند */
main .banner-slider,
main section:has(.banner-slider) {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.banner-slider {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    box-shadow: none;
    width: 100%;
}

.banner-slider .swiper-wrapper {
    align-items: stretch;
}

.banner-slider .swiper-slide {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    overflow: hidden;
}

.banner-slider .swiper-slide > div {
    width: 100%;
    min-width: 100%;
    height: auto;
    min-height: 0;
    flex: 1;
    overflow: hidden;
    position: relative;
}

.banner-slider .swiper-slide a {
    display: block;
    width: 100%;
}

.banner-slider .swiper-slide .banner-slide-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
    vertical-align: middle;
}
@media (min-width: 768px) {
    .banner-slider { max-height: none; min-height: 0; }
    .banner-slider .swiper-slide { max-height: none; min-height: 0; height: auto; }
    .banner-slider .swiper-slide a { min-height: 0; height: auto; }
    .banner-slider .banner-slide-img { max-height: none; min-height: 0; height: auto; }
}

/* Digikala-style pagination: dots at bottom center, always visible */
.banner-slider .swiper-pagination-banner {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.banner-slider .swiper-pagination-banner .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
    background: rgba(0, 0, 0, 0.4) !important;
    border: 2px solid rgba(255, 255, 255, 0.95) !important;
    opacity: 1 !important;
    transition: background 0.2s, transform 0.2s, border-color 0.2s;
}

.banner-slider .swiper-pagination-banner .swiper-pagination-bullet-active {
    background: #fff !important;
    border-color: #fff !important;
    transform: scale(1.25);
}

/* Navigation arrows – Digikala-style: هر دو پایین سمت راست، کنار هم */
.banner-slider .swiper-button-next,
.banner-slider .swiper-button-prev {
    top: auto;
    bottom: 14px;
    margin-top: 0;
    color: #ffffff;
    background: rgba(0, 0, 0, 0.5);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.banner-slider .swiper-button-prev {
    left: auto;
    right: 12px; /* سمت راست: دکمه قبلی < */
}

.banner-slider .swiper-button-next {
    left: auto;
    right: 56px; /* کنار prev: دکمه بعدی > */
}

.banner-slider .swiper-button-next:hover,
.banner-slider .swiper-button-prev:hover {
    background: rgba(0, 0, 0, 0.7);
    transform: scale(1.1);
}

.banner-slider .swiper-button-next::after,
.banner-slider .swiper-button-prev::after {
    font-size: 16px;
    font-weight: bold;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .banner-slider .swiper-button-next,
    .banner-slider .swiper-button-prev {
        width: 35px;
        height: 35px;
        bottom: 12px;
    }
    .banner-slider .swiper-button-prev { right: 10px; }
    .banner-slider .swiper-button-next { right: 48px; }
    
    .banner-slider .swiper-button-next::after,
    .banner-slider .swiper-button-prev::after {
        font-size: 14px;
    }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .banner-slider .swiper-button-next,
    .banner-slider .swiper-button-prev {
        background: rgba(255, 255, 255, 0.2);
        color: #000000;
    }
    
    .banner-slider .swiper-button-next:hover,
    .banner-slider .swiper-button-prev:hover {
        background: rgba(255, 255, 255, 0.3);
    }
}

/* Category Slider Justify Between Styles */
.category-slider .swiper-wrapper {
    justify-content: space-between !important;
    align-items: center !important;
}

.category-slider .swiper-slide {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: auto !important;
}

/* Justify between for all screen sizes */
@media (max-width: 1536px) {
    .category-slider .swiper-wrapper {
        justify-content: space-between !important;
    }
}

@media (max-width: 1280px) {
    .category-slider .swiper-wrapper {
        justify-content: space-between !important;
    }
}

@media (max-width: 1024px) {
    .category-slider .swiper-wrapper {
        justify-content: space-between !important;
    }
}

@media (max-width: 768px) {
    .category-slider .swiper-wrapper {
        justify-content: space-between !important;
    }
}

@media (max-width: 640px) {
    .category-slider .swiper-wrapper {
        justify-content: space-between !important;
    }
}

@media (max-width: 480px) {
    .category-slider .swiper-wrapper {
        justify-content: space-between !important;
    }
}

@media (max-width: 360px) {
    .category-slider .swiper-wrapper {
        justify-content: space-between !important;
    }
}

/* ===== Digikala-style layout & components (exact heights: 60 + 68 + 40 = 168px total) ===== */

/* Top strip (promo bar or promotional banner) – always 60px like Digikala */
.dk-top-bar,
.dk-top-strip,
#promotional-banner {
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    box-sizing: border-box !important;
}
/* Top promo strip – Digikala exact 60px (height in .dk-top-bar above) */
.dk-top-bar {
    background: hsl(var(--primary));
    color: #fff;
    font-size: 0.8125rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1rem;
    text-align: center;
}
.dk-top-bar a {
    color: inherit;
    font-weight: 500;
}

/* Top bar: inner flex (icon + text + icon) */
.dk-top-bar-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 1rem;
    flex-wrap: wrap;
}

/* Top bar icons with animation */
.dk-top-bar-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.125rem;
    animation: dk-top-bar-icon-pulse 2s ease-in-out infinite;
}
.dk-top-bar-icon-right {
    animation-delay: 0.5s;
}

/* Subtle strip shine/slide animation for red bar */
.dk-top-bar-animated {
    position: relative;
    overflow: hidden;
}
.dk-top-bar-animated::after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.12),
        transparent
    );
    animation: dk-top-bar-shine 4s ease-in-out infinite;
    pointer-events: none;
}

@keyframes dk-top-bar-icon-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.85; transform: scale(1.08); }
}

@keyframes dk-top-bar-shine {
    0% { left: -60%; }
    60%, 100% { left: 120%; }
}

/* Mint green theme — readable text and solid buttons */
.text-primary {
    color: hsl(var(--primary-btn));
}
.bg-primary.text-white,
a.bg-primary:not(.text-primary),
button.bg-primary:not(.text-primary) {
    background-color: hsl(var(--primary-btn));
}
.hover\:bg-primary\/90:hover.text-white {
    background-color: hsl(var(--primary-btn) / 0.9);
}
.dk-top-bar-snack {
    position: relative;
    background: hsl(var(--brand-orange)) !important;
    animation: none;
    color: #fff;
    font-family: "IRANYekan", sans-serif;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 1px 4px rgba(0,0,0,0.12);
}

/* استایل پوزیترون: درخشش نرم (بدون شین تیز) */
.dk-top-bar-snack.dk-top-bar-positron-style::after {
    content: none;
}

/* آیکون کنار جمله راست (مثل تصویر کارت هدیه پوزیترون) */
.dk-snack-icon-lead {
    display: inline-flex;
    align-items: center;
    margin-right: 0.35rem;
    font-size: 1.05rem;
    opacity: 0.95;
    animation: dk-snack-lead-icon 2.5s ease-in-out infinite;
}

/* لایه آیکون‌های پراکنده — شبیه پوزیترون (کنفتی/هدیه پراکنده) */
.dk-snack-icons-spread {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}
.dk-snack-float-icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.8rem;
    opacity: 0.4;
    color: rgba(255,255,255,0.9);
    filter: drop-shadow(0 1px 1px rgba(0,0,0,0.2));
    animation: dk-snack-icon-positron-float 4s ease-in-out infinite;
    animation-delay: calc(var(--i, 0) * 0.4s);
}
.dk-snack-float-icon:nth-child(1) { right: 5%; top: 28%; }
.dk-snack-float-icon:nth-child(2) { right: 16%; top: 65%; }
.dk-snack-float-icon:nth-child(3) { right: 28%; top: 35%; }
.dk-snack-float-icon:nth-child(4) { right: 40%; top: 72%; }
.dk-snack-float-icon:nth-child(5) { right: 52%; top: 25%; }
.dk-snack-float-icon:nth-child(6) { right: 64%; top: 58%; }
.dk-snack-float-icon:nth-child(7) { right: 76%; top: 40%; }
.dk-snack-float-icon:nth-child(8) { right: 88%; top: 68%; }
.dk-snack-float-icon:nth-child(9) { left: 12%; top: 45%; }
.dk-snack-float-icon:nth-child(10) { left: 4%; top: 70%; }

/* سه بخش نزدیک به وسط هدر — مثل پوزیترون (متن‌ها در مرکز نوار) */
.dk-snack-three-parts {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 100%;
    padding: 0 1rem;
    gap: 1.5rem 2.5rem;
}
.dk-snack-text-right,
.dk-snack-text-center,
.dk-snack-text-left {
    flex: 0 0 auto;
}

.dk-top-bar-snack .dk-snack-tagline {
    color: inherit;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}
.dk-top-bar-snack .dk-snack-tagline:hover {
    color: #fff;
    opacity: 1;
}

/* فونت تمیز و بولد مثل پوزیترون — جمله راست */
.dk-snack-text-right .dk-snack-title {
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    text-shadow: 0 1px 1px rgba(0,0,0,0.25);
    animation: dk-snack-text-subtle 3s ease-in-out infinite;
}

/* جمله وسط */
.dk-snack-text-center .dk-snack-center {
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.02em;
    text-shadow: 0 1px 1px rgba(0,0,0,0.25);
    animation: dk-snack-text-subtle 3s ease-in-out infinite 0.5s;
}

/* جمله چپ — بولدتر مثل پوزیترون */
.dk-snack-text-left .dk-snack-slogan {
    font-weight: 800;
    font-size: 1rem;
    letter-spacing: 0.01em;
    text-shadow: 0 1px 1px rgba(0,0,0,0.25);
    animation: dk-snack-text-subtle 3s ease-in-out infinite 1s;
}

@keyframes dk-snack-red-pulse {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}
/* انیمیشن ملایم متن (شبیه پوزیترون — بدون پاپ شدید) */
@keyframes dk-snack-text-subtle {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.92; }
}
/* آیکون کنار جمله راست */
@keyframes dk-snack-lead-icon {
    0%, 100% { transform: scale(1); opacity: 0.95; }
    50% { transform: scale(1.08); opacity: 1; }
}
/* انیمیشن پراکنده آیکون‌ها — شبیه کنفتی/هدیه پوزیترون */
@keyframes dk-snack-icon-positron-float {
    0%, 100% { transform: translateY(-50%) translateX(0) rotate(0deg); opacity: 0.35; }
    25% { transform: translateY(-52%) translateX(2px) rotate(2deg); opacity: 0.5; }
    50% { transform: translateY(-48%) translateX(-1px) rotate(-1deg); opacity: 0.45; }
    75% { transform: translateY(-51%) translateX(1px) rotate(1deg); opacity: 0.4; }
}

/* Mobile responsive styles for top bar */
@media (max-width: 768px) {
    .dk-snack-three-parts {
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        gap: 0.5rem !important;
        padding: 0 0.5rem !important;
    }

    .dk-snack-text-right,
    .dk-snack-text-center,
    .dk-snack-text-left {
        flex: 1 1 auto !important;
        text-align: center !important;
        min-width: 0 !important;
    }

    .dk-snack-text-right .dk-snack-title,
    .dk-snack-text-center .dk-snack-center,
    .dk-snack-text-left .dk-snack-slogan {
        font-size: 0.8rem !important;
        line-height: 1.2 !important;
    }

    .dk-snack-icon-lead {
        margin-right: 0.25rem !important;
        font-size: 0.9rem !important;
    }
}

@media (max-width: 480px) {
    .dk-snack-three-parts {
        gap: 0.25rem !important;
        padding: 0 0.25rem !important;
    }

    .dk-snack-text-right .dk-snack-title,
    .dk-snack-text-center .dk-snack-center,
    .dk-snack-text-left .dk-snack-slogan {
        font-size: 0.75rem !important;
    }

    .dk-snack-icon-lead {
        display: none !important;
    }
}

/* Header: no margin; inner wrappers no extra spacing so total stays 108px (68+40) */
header.sticky {
    margin: 0 !important;
}
header.bg-white > div.relative.z-50,
header .relative.z-50 > div {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}
header.bg-white {
    height: auto;
    /* min-height: 108px; */
    max-height: none;
}

/* Turbintahrir header */
.tt-header {
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.tt-header.is-compact {
    box-shadow: 0 4px 20px hsl(var(--primary) / 0.08);
}
.tt-nav-categories-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 12px 8px;
    height: auto;
    border-radius: 0;
    font-size: 0.75rem;
    font-weight: 500;
    color: #4b5563;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    transition: color 0.2s, border-color 0.2s;
    box-shadow: none;
}
.tt-nav-categories-btn:hover {
    color: #4b5563;
    border-bottom-color: hsl(var(--primary));
}
.tt-nav-categories-btn svg {
    width: 18px;
    height: 18px;
}
.tt-mega-header {
    background: transparent;
    color: inherit;
}
.tt-mobile-bar-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    color: hsl(var(--text) / 0.75);
    transition: background 0.2s, color 0.2s;
}
.tt-mobile-bar-icon:hover {
    background: hsl(var(--brand-primary-soft));
    color: hsl(var(--primary-btn));
}
.tt-bottom-nav {
    border-top-color: hsl(var(--primary) / 0.12);
    background: hsl(0 0% 100% / 0.95);
}
.tt-bottom-nav .is-active {
    background: hsl(var(--primary-btn)) !important;
    color: #fff !important;
    border-color: hsl(var(--primary-btn)) !important;
}

/* Header main row (logo + search) – Digikala exact 68px, no vertical padding (content fills row) */
.dk-header-main-row {
    height: 68px;
    min-height: 68px;
    max-height: 68px;
    box-sizing: border-box;
    padding: 0;
    gap: 1rem;
    display: flex;
    align-items: center;
}
.dk-header-main-row .dk-header-logo-img {
    height: 4rem; /* 32px — compact and aligned with mobile drawer */
    width: auto;
}

/* Search box – Digikala: 44px height, rounded, light gray bg */
.dk-header-search-form {
    height: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 12px;
    background: #f1f3f5;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    transition: border-color 0.2s, background-color 0.2s;
}
.dk-header-search-form:hover {
    background: #eef0f2;
    border-color: #d1d5db;
}
.dk-header-search-form:focus-within {
    background: #fff;
    border-color: hsl(var(--primary));
    box-shadow: 0 0 0 1px hsl(var(--primary) / 0.2);
}
.dk-header-search-form .dk-header-search-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: #6b7280;
}
.dk-header-search-form input {
    flex: 1;
    min-width: 0;
    height: 100%;
    border: none;
    background: transparent;
    font-size: 0.875rem;
    outline: none;
}
.dk-header-search-form input::placeholder {
    color: #9ca3af;
}

/* User actions row – spacing like Digikala */
.dk-header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.dk-header-login-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 8px 12px;
    height: 40px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #374151;
    background: #fff;
    transition: border-color 0.2s, background 0.2s;
}
.dk-header-login-btn:hover {
    border-color: hsl(var(--primary));
    background: hsl(var(--brand-primary-soft));
    color: hsl(var(--primary));
}
.dk-header-login-btn svg {
    width: 20px;
    height: 20px;
}
.dk-header-cart-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #4b5563;
    transition: color 0.2s;
}
.dk-header-cart-btn:hover {
    color: hsl(var(--primary));
}
.dk-header-cart-btn svg {
    width: 24px;
    height: 24px;
}
/* Cart count badge – small, top-right; hidden when 0 */
.dk-cart-badge {
    top: 0;
    right: 0;
    height: 1rem;
    min-width: 1rem;
    padding: 0 0.2rem;
    font-size: 10px;
    line-height: 1;
}

/* Header nav bar – Digikala exact 40px; only bottom border (inside box so height stays 40px) */
.dk-header-nav {
    height: 40px;
    min-height: 40px;
    max-height: 40px;
    box-sizing: border-box;
    padding: 0 1rem;
    align-items: center;
    gap: 0;
    border-bottom: 1px solid #e5e7eb;
}
/* Nav links – Digikala: padding 12px 8px, font 12px */
.dk-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 12px 8px;
    font-size: 0.75rem;
    font-weight: 500;
    color: #4b5563;
    border-bottom: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s;
}
.dk-nav-link:hover {
    color: #4b5563; /* keep text color fixed */
    border-bottom-color: hsl(var(--primary)); /* red/primary underline */
}
.dk-nav-link svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* Categories trigger (دسته‌بندی) – same style */
.dk-nav-categories {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 12px 8px;
    font-size: 0.75rem;
    font-weight: 500;
    color: #4b5563;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s;
}
.dk-nav-categories:hover {
    color: #4b5563; /* keep text color fixed */
    border-bottom-color: hsl(var(--primary)); /* red/primary underline */
}
.dk-nav-categories svg {
    width: 18px;
    height: 18px;
}

/* Desktop megamenu: L1 highlight + thin scrollbars */
.dk-mega-l1-item--active .dk-mega-l1-link {
    background-color: hsl(var(--primary) / 0.08);
    color: hsl(var(--primary));
}
.dk-mega-l1-item--active .dk-mega-l1-chevron {
    color: hsl(var(--primary));
}
.dk-mega-l1-scroll::-webkit-scrollbar,
.dk-mega-l2-scroll::-webkit-scrollbar {
    width: 6px;
}
.dk-mega-l1-scroll::-webkit-scrollbar-thumb,
.dk-mega-l2-scroll::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 4px;
}
.dk-mega-l1-scroll,
.dk-mega-l2-scroll {
    scrollbar-color: #d1d5db transparent;
    scrollbar-width: thin;
}

/* Megamenu: single column when hovered L1 has no subcategories */
#megamenu-container.mega-menu--compact {
    width: min(288px, calc(100vw - 1.5rem));
    max-width: calc(100vw - 1.5rem);
}
#megamenu-container.mega-menu--compact .dk-mega-l1-col {
    width: 100%;
    max-width: 100%;
    border-inline-end-width: 0;
}

/* Shop page: top category strip (product list) */
.shop-categories-strip-item--active .shop-categories-strip-icon {
    background-color: hsl(var(--primary) / 0.12);
}
.shop-categories-strip-item--active .shop-categories-strip-badge {
    background-color: hsl(var(--primary) / 0.18);
    color: hsl(var(--primary));
    box-shadow: 0 0 0 1px hsl(var(--primary) / 0.28);
}

/* Section block: title + "مشاهده همه" */
.dk-section {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

/* دسته‌بندی محصولات – عین دیجی‌کالا: بدون باکس، فاصله فقط از main-home-gap */
.dk-section--categories {
    border: none;
    border-radius: 0;
    padding: 1rem 0 0;
    margin-bottom: 0;
    box-shadow: none;
    background: transparent;
}
.dk-categories-section {
    background: transparent;
}

/* فاصله یکسان بین بخش‌های صفحه اصلی */
.main-home-gap {
    margin-top: 0;
    margin-bottom: 3rem;
}

.dk-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}
.dk-section-title {
    font-size: 1rem;
    font-weight: 700;
    color: #0c0c0c;
}
.dk-section-more {
    font-size: 0.75rem;
    font-weight: 500;
    color: hsl(var(--primary));
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.dk-section-more:hover {
    color: hsl(var(--primary));
    opacity: 0.9;
}

/* صفحه اصلی: لینک «مشاهده همه» — اکسنت برند (--brand-orange = primary) */
.main-home .dk-section-more {
    color: hsl(var(--brand-orange));
}
.main-home .dk-section-more:hover {
    color: hsl(var(--brand-orange));
    opacity: 0.88;
}

.main-home .home-best-seller-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    background: hsl(var(--primary));
    color: #fff;
    font-weight: 700;
}
.main-home .home-best-seller-name {
    transition: color 0.2s ease;
}
.main-home .group:hover .home-best-seller-name {
    color: hsl(var(--brand-orange));
}

/* فروشگاه: نان‌برید و نوار دسته‌ها — --brand-orange */
.shop-page nav[aria-label="Breadcrumb"] a:hover {
    color: hsl(var(--brand-orange));
}
.shop-page .shop-categories-strip a.inline-flex.text-primary,
.shop-page .shop-categories-strip a.inline-flex.text-primary svg {
    color: hsl(var(--brand-orange));
}
.shop-page .shop-categories-strip a.inline-flex.text-primary:hover {
    color: hsl(var(--brand-orange));
    opacity: 0.88;
}
.shop-page .shop-categories-strip-item--active {
    border-color: hsl(var(--brand-orange) / 0.4) !important;
    background-color: hsl(var(--brand-orange) / 0.07) !important;
}
.shop-page .shop-categories-strip-item:not(.shop-categories-strip-item--active):hover {
    border-color: hsl(var(--brand-orange) / 0.4) !important;
    background-color: hsl(var(--brand-orange) / 0.04) !important;
}
.shop-page a.shop-categories-strip-item.group:hover .group-hover\:text-primary {
    color: hsl(var(--brand-orange));
}
.shop-page .shop-categories-strip-item--active .line-clamp-2 {
    color: hsl(var(--brand-mocha));
}
.shop-page .shop-categories-strip-item--active.group:hover .group-hover\:text-primary {
    color: hsl(var(--brand-mocha));
}

/*
 * /shop/ — صفحه‌بندی، مرتب‌سازی، کارت گرید، سوئیچ فیلتر
 * CTA اصلی و بج تخفیف: primary؛ اکسنت‌های مشابه: --brand-orange
 */
.shop-page .pagination-button:not(.pagination-button-active):hover {
    background-color: hsl(var(--brand-orange)) !important;
    color: #fff !important;
}
.shop-page .pagination-button-active {
    background-color: hsl(var(--brand-orange)) !important;
    color: #fff !important;
}
.shop-page .hover\:bg-primary:hover {
    background-color: hsl(var(--brand-orange)) !important;
}

.shop-page .sort-button-active {
    color: hsl(var(--brand-orange)) !important;
    font-weight: 600;
}

.shop-page .btn-primary-nobg {
    color: hsl(var(--brand-orange)) !important;
}
.shop-page .btn-primary-nobg:hover {
    color: hsl(var(--brand-orange)) !important;
    opacity: 0.88;
}

.shop-page .dk-shop-card:hover {
    border-color: hsl(var(--brand-orange) / 0.42);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
}
.shop-page .dk-shop-card-title:hover {
    color: hsl(var(--brand-orange));
}

.shop-page input.peer.sr-only:checked + div {
    background-color: hsl(var(--cyan)) !important;
}
.shop-page #mobile-filter-form input.peer.sr-only:checked + div,
#mobile-filter-form input.peer.sr-only:checked + div {
    background-color: hsl(var(--cyan)) !important;
}
.shop-page input.peer.sr-only:focus-visible + div {
    box-shadow: 0 0 0 2px hsl(var(--brand-orange) / 0.35);
}
.shop-page #mobile-filter-form input.peer.sr-only:focus-visible + div,
#mobile-filter-form input.peer.sr-only:focus-visible + div {
    box-shadow: 0 0 0 2px hsl(var(--brand-orange) / 0.35);
}

.shop-page #mobile-sort-form input.peer:checked + label {
    border-color: hsl(var(--brand-orange)) !important;
    background-color: hsl(var(--brand-orange) / 0.08) !important;
}

.shop-page form.flex.h-14.items-center svg.h-6 {
    color: hsl(var(--brand-orange));
}

.shop-page .hover\:dark\:bg-emerald-600:hover {
    background-color: hsl(var(--brand-orange)) !important;
}

/* ===== پیشنهاد شگفت‌انگیز دیجی‌کالا - باکس اکسنت یکپارچه، بنر راست ===== */

/* باکس اکسنت یکپارچه (کل section) - پنل «پیشنهاد شگفت‌انگیز» سمت راست مثل دیجی‌کالا */
/* Card height = 2/3 of shop page product card; equal box dimensions like /shop/ */
.dk-incredible-box {
    background: hsl(var(--brand-orange));
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 1.5rem;
    display: flex;
    flex-direction: row-reverse;
    min-height: 200px;
    padding: 10px 0;
}
.dk-incredible-slider-wrap {
    flex: 1;
    min-width: 0;
    position: relative;
}
.dk-incredible-swiper {
    padding: 10px 10px 10px 20px;
    height: 100%;
    min-height: 200px;
}
.dk-incredible-swiper .swiper-slide {
    height: 200px;
}

/* کارت‌های محصول: سفید، curve مثل باکس اکسنت؛ عرض و ارتفاع یکسان مثل شاپ، ارتفاع ۲/۳ شاپ */
.dk-incredible-slide-link {
    display: block;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
}
.dk-incredible-card {
    background: #fff;
    padding: 10px;
    height: 200px;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s;
    border-radius: 12px;
    overflow: hidden;
}
.dk-incredible-card:hover {
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
}
.dk-incredible-card .dk-incredible-card-image {
    width: 100%;
    flex: 1;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
    background: #fff;
    border-radius: 6px;
}
.dk-incredible-card .dk-incredible-card-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.dk-incredible-card .dk-incredible-card-title {
    font-size: 12px;
    line-height: 1.5;
    color: #0c0c0c;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 0;
    margin-bottom: 2px;
    flex-shrink: 0;
}
.dk-incredible-card .dk-incredible-card-prices {
    margin-top: 0;
    flex-shrink: 0;
}
.dk-incredible-card .dk-incredible-old-price {
    font-size: 11px;
    color: #9e9e9e;
    text-decoration: line-through;
    margin-top: 4px;
}
.dk-incredible-card .dk-incredible-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}
.dk-incredible-card .dk-incredible-discount {
    background: hsl(var(--primary));
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
}
.dk-incredible-card .dk-incredible-price {
    font-size: 14px;
    font-weight: 700;
    color: #0c0c0c;
}
.dk-incredible-card .dk-incredible-price-unit {
    font-size: 11px;
    font-weight: 400;
    color: #616161;
    margin-right: 2px;
}

/* اسلاید «مشاهده همه» داخل اسلایدر */
.dk-incredible-card-more-link {
    border-right: none !important;
    text-decoration: none;
    color: inherit;
}
.dk-incredible-card-more {
    background: #fff;
    border: 2px dashed hsl(var(--brand-orange) / 0.45);
    border-radius: 12px;
    padding: 12px;
    height: 200px;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: hsl(var(--brand-orange));
    font-size: 13px;
    font-weight: 700;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.dk-incredible-card-more-link:hover .dk-incredible-card-more,
.dk-incredible-card-more:hover {
    background: #fff;
    border-color: hsl(var(--brand-orange));
    color: hsl(var(--brand-orange));
    box-shadow: 0 10px 24px -18px hsl(var(--brand-orange) / 0.7);
    transform: translateY(-2px);
}
.dk-incredible-card-more .dk-incredible-card-more-icon {
    width: 44px;
    height: 44px;
    border: 2px solid currentColor;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

/* پنل راست: عرض برابر یک باکس محصول (هم‌خوان با slidesPerView در هر breakpoint) */
.dk-incredible-panel {
    flex-shrink: 0;
    background: hsl(var(--brand-orange));
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 12px;
    text-align: center;
    /* پیش‌فرض: slidesPerView 1.5 → عرض پنل = 1/2.5 از باکس */
    width: calc(100% / 2.5);
}
@media (min-width: 360px) {
    .dk-incredible-panel { width: calc(100% / 3); } /* 2 slides */
}
@media (min-width: 460px) {
    .dk-incredible-panel { width: calc(100% / 3.5); } /* 2.5 slides */
}
@media (min-width: 640px) {
    .dk-incredible-panel { width: calc(100% / 4); } /* 3 slides */
}
@media (min-width: 768px) {
    .dk-incredible-panel { width: calc(100% / 4.5); } /* 3.5 slides */
    .dk-incredible-box { min-height: 215px; }
    .dk-incredible-swiper { min-height: 215px; }
    .dk-incredible-swiper .swiper-slide { height: 215px; }
    .dk-incredible-card,
    .dk-incredible-card-more { height: 215px; min-height: 215px; }
}
@media (min-width: 1024px) {
    .dk-incredible-panel { width: calc(100% / 5.5); } /* 4.5 slides */
    .dk-incredible-box { min-height: 220px; }
    .dk-incredible-swiper { min-height: 220px; }
    .dk-incredible-swiper .swiper-slide { height: 220px; }
    .dk-incredible-card,
    .dk-incredible-card-more { height: 220px; min-height: 220px; }
}
@media (min-width: 1380px) {
    .dk-incredible-panel { width: calc(100% / 7); } /* 6 slides */
}
/* آیکون بیسکویت + آبنبات + شکلات (اریب شبیه قلب) با فاصله */
.dk-incredible-panel-heart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 10px;
}
.dk-incredible-panel-heart-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    font-size: 1.15rem;
    color: #fff;
    background: rgba(255,255,255,0.25);
    border-radius: 50%;
    animation: dk-incredible-icon-pulse 2s ease-in-out infinite;
}
.dk-incredible-panel-heart-icon.dk-incredible-panel-heart-left {
    transform: rotate(-38deg);
    animation-delay: 0s;
}
.dk-incredible-panel-heart-icon.dk-incredible-panel-heart-center {
    transform: rotate(-8deg);
    animation-delay: 0.2s;
}
.dk-incredible-panel-heart-icon.dk-incredible-panel-heart-right {
    transform: rotate(38deg);
    animation-delay: 0.4s;
}
.dk-incredible-panel-title {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 12px 0;
    color: #fff;
}
.dk-incredible-panel-more {
    font-size: 0.75rem;
    font-weight: 700;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid transparent;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
.dk-incredible-panel-more:hover {
    color: #fff;
    opacity: 1;
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.5);
}
.dk-incredible-panel-more-arrow {
    font-size: 1rem;
}

/* فلش اسلایدر: دایره خاکستری روشن مثل دیجی‌کالا */
.dk-incredible-box .swiper-button-next,
.dk-incredible-box .swiper-button-prev {
    width: 36px !important;
    height: 36px !important;
    background: #efefef !important;
    border: none !important;
    border-radius: 50% !important;
    color: #616161 !important;
}
.dk-incredible-box .swiper-button-next:hover,
.dk-incredible-box .swiper-button-prev:hover {
    background: #e0e0e0 !important;
    color: #333 !important;
}
.dk-incredible-box .swiper-button-next::after,
.dk-incredible-box .swiper-button-prev::after {
    font-size: 14px !important;
    font-weight: bold !important;
}

@keyframes dk-incredible-icon-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.88; }
}

/* ===== پیشنهادی‌ها روی PDP / سبد / تسویه (accent = primary) ===== */
.dk-pdp-recommendations-wrap {
    --rec-accent: var(--brand-orange);
}
.dk-pdp-rec-accent-orange {
    --rec-accent: var(--brand-orange);
}
.dk-pdp-rec-accent-green {
    /* legacy class name: same accent as --brand-orange / primary */
    --rec-accent: var(--brand-orange);
}
/* زرد سابق = همان اکسنت primary (یکدست با اسلایدر اصلی) */
.dk-pdp-rec-accent-yellow {
    --rec-accent: var(--brand-orange);
}
.dk-pdp-rec-accent-cyan {
    --rec-accent: var(--brand-cyan);
}
.dk-pdp-recommendations-wrap .dk-incredible-box {
    flex-direction: column;
    min-height: 0;
    padding: 0;
    border-radius: 8px;
    overflow: hidden;
    background: hsl(var(--rec-accent));
    border: 1px solid hsl(var(--rec-accent));
    width: 100%;
    max-width: 100%;
}
.dk-pdp-recommendations-wrap .dk-incredible-panel {
    order: -1;
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    min-height: 52px;
    flex-wrap: wrap;
    gap: 8px;
    background: hsl(var(--rec-accent));
}
.dk-pdp-recommendations-wrap .dk-incredible-panel-heart {
    display: none;
}
.dk-pdp-recommendations-wrap .dk-incredible-panel-title {
    color: #fff !important;
    font-size: 0.9375rem;
    font-weight: 700;
    margin: 0;
}
.dk-pdp-recommendations-wrap .dk-incredible-panel-more {
    color: #fff !important;
    font-size: 0.8125rem;
    font-weight: 600;
}
.dk-pdp-recommendations-wrap .dk-incredible-panel-more:hover {
    color: #fff !important;
    opacity: 0.9;
}
.dk-pdp-recommendations-wrap .dk-incredible-slider-wrap {
    background: #fff;
    border-radius: 0;
    padding: 0;
    border: 1px solid #e0e0e0;
    border-top: none;
    width: 100%;
    max-width: 100%;
}
.dk-pdp-recommendations-wrap .dk-incredible-swiper {
    padding: 12px 12px 14px;
    min-height: 200px;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.dk-pdp-recommendations-wrap .dk-incredible-swiper .swiper-slide {
    height: 200px;
}
.dk-pdp-recommendations-wrap .dk-incredible-card {
    height: 200px;
    min-height: 200px;
    border: 1px solid #e8e8e8;
    box-sizing: border-box;
    padding: 10px;
    display: flex;
    flex-direction: column;
}
.dk-pdp-recommendations-wrap .dk-incredible-card:hover {
    border-color: hsl(var(--rec-accent));
}
.dk-pdp-recommendations-wrap .dk-incredible-card .dk-incredible-card-image {
    flex: 1;
    min-height: 0;
    margin-bottom: 4px;
    background: #fff;
}
.dk-pdp-recommendations-wrap .dk-incredible-card .dk-incredible-card-title {
    min-height: 0;
    margin-bottom: 2px;
    flex-shrink: 0;
}
.dk-pdp-recommendations-wrap .dk-incredible-card .dk-incredible-card-prices {
    margin-top: 0;
    flex-shrink: 0;
}
.dk-pdp-recommendations-wrap .dk-incredible-card .dk-incredible-price,
.dk-pdp-recommendations-wrap .dk-incredible-card .dk-incredible-old-price {
    color: #0c0c0c;
}
.dk-pdp-recommendations-wrap .dk-incredible-card-more {
    height: 200px;
    min-height: 200px;
    border: 1px solid #e8e8e8;
    border-style: dashed;
    padding: 10px;
}
.dk-pdp-recommendations-wrap .dk-incredible-card-more:hover {
    border-color: hsl(var(--rec-accent));
}
.dk-pdp-recommendations-wrap .dk-incredible-card .dk-incredible-discount {
    background: hsl(var(--primary));
}
@media (min-width: 768px) {
    .dk-pdp-recommendations-wrap .dk-incredible-swiper { min-height: 215px; }
    .dk-pdp-recommendations-wrap .dk-incredible-swiper .swiper-slide { height: 215px; }
    .dk-pdp-recommendations-wrap .dk-incredible-card,
    .dk-pdp-recommendations-wrap .dk-incredible-card-more {
        height: 215px;
        min-height: 215px;
    }
}
@media (min-width: 1024px) {
    .dk-pdp-recommendations-wrap .dk-incredible-swiper { min-height: 220px; }
    .dk-pdp-recommendations-wrap .dk-incredible-swiper .swiper-slide { height: 220px; }
    .dk-pdp-recommendations-wrap .dk-incredible-card,
    .dk-pdp-recommendations-wrap .dk-incredible-card-more {
        height: 220px;
        min-height: 220px;
    }
}
@media (max-width: 768px) {
    .dk-pdp-recommendations-wrap .dk-incredible-panel {
        padding: 10px 12px;
        min-height: 48px;
    }
    .dk-pdp-recommendations-wrap .dk-incredible-panel-title {
        font-size: 0.875rem;
    }
    .dk-pdp-recommendations-wrap .dk-incredible-swiper {
        min-height: 200px;
        padding: 8px 10px 12px;
    }
    .dk-pdp-recommendations-wrap .dk-incredible-swiper .swiper-slide {
        height: 200px;
    }
    .dk-pdp-recommendations-wrap .dk-incredible-card,
    .dk-pdp-recommendations-wrap .dk-incredible-card-more {
        height: 200px;
        min-height: 200px;
        padding: 6px;
    }
    .dk-pdp-recommendations-wrap .dk-incredible-card .dk-incredible-card-image {
        margin-bottom: 2px;
    }
    .dk-pdp-recommendations-wrap .dk-incredible-card .dk-incredible-card-title {
        margin-bottom: 2px;
    }

    /* موبایل: پنل (عنوان + مشاهده همه) بالا، اسلایدر پایین؛ ارتفاع باکس = ۲/۳ شاپ */
    .dk-incredible-box {
        flex-direction: column;
        min-height: 0;
        padding: 8px 0;
    }
    .dk-incredible-box .dk-incredible-panel { order: -1; }
    .dk-incredible-box .dk-incredible-slider-wrap { order: 0; }
    .dk-incredible-slider-wrap {
        border: none;
    }
    .dk-incredible-swiper {
        min-height: 200px;
        padding: 6px 10px 6px 16px;
    }
    .dk-incredible-swiper .swiper-slide {
        height: 200px;
    }
    .dk-incredible-card {
        height: 200px;
        min-height: 200px;
        padding: 6px;
    }
    .dk-incredible-card .dk-incredible-card-image {
        margin-bottom: 2px;
    }
    .dk-incredible-card .dk-incredible-card-title {
        min-height: 0;
        margin-bottom: 2px;
        font-size: 11px;
    }
    .dk-incredible-card-more {
        height: 200px;
        min-height: 200px;
        padding: 8px;
    }
    .dk-incredible-card-more .dk-incredible-card-more-icon {
        width: 36px;
        height: 36px;
        margin-bottom: 4px;
    }
    .dk-incredible-panel {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px 12px;
        padding: 10px 12px;
    }
    .dk-incredible-panel-heart {
        margin-bottom: 0;
        gap: 6px;
        order: 1;
    }
    .dk-incredible-panel-heart-icon {
        width: 20px;
        height: 20px;
        font-size: 0.9rem;
    }
    .dk-incredible-panel-title {
        margin-bottom: 0;
        order: 2;
        width: auto;
        text-align: center;
        font-size: 0.9rem;
    }
    .dk-incredible-panel-more {
        order: 3;
        font-size: 0.7rem;
    }
}

/* ===== صفحه محصول به سبک دیجی‌کالا (PDP) ===== */
.dk-pdp-wrap {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}
.dk-pdp-breadcrumb {
    padding: 0.75rem 0;
    font-size: 0.75rem;
    color: #5c5c5c;
}
.dk-pdp-breadcrumb a:hover {
    color: hsl(var(--primary));
}
.dk-pdp-gallery {
    background: #fff;
    border-left: 1px solid #e0e0e0;
}
.dk-pdp-main-image {
    object-fit: contain;
    object-position: center;
    background: transparent;
    border-radius: 8px;
}
.dk-pdp-gallery .dk-pdp-main-stage {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0.5rem;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
}
.dk-pdp-image-frame {
    position: relative;
    display: inline-block;
    max-width: 100%;
    max-height: 100%;
    flex-shrink: 1;
    line-height: 0;
    vertical-align: middle;
}
.dk-pdp-gallery .dk-pdp-main-stage .dk-pdp-image-frame .dk-pdp-main-image,
.dk-pdp-gallery .dk-pdp-main-stage .dk-pdp-main-image {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    flex-shrink: 0;
    display: block;
}
.dk-pdp-mobile-slide .dk-pdp-image-frame {
    max-width: 100%;
    max-height: 100%;
}
.dk-pdp-mobile-slide .dk-pdp-image-frame .dk-pdp-mobile-main-image {
    max-width: 100%;
    max-height: 100%;
}
.dk-pdp-brand-wm-bar {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    direction: ltr;
    box-sizing: border-box;
    height: 15%;
    min-height: 2.25rem;
    padding: 0 1.5% 1%;
    background: #fff;
    pointer-events: none;
    user-select: none;
}
.dk-pdp-brand-watermark {
    display: block;
    width: auto;
    height: 88%;
    max-width: 48%;
    object-fit: contain;
    object-position: right center;
}
.dk-pdp-mobile-gallery-stage {
    aspect-ratio: 1 / 1;
    max-height: min(100vw - 2rem, 24rem);
    box-sizing: border-box;
}
.dk-pdp-mobile-swiper.dk-pdp-mobile-swiper,
.dk-pdp-mobile-swiper .swiper-wrapper {
    height: 100%;
}
.dk-pdp-mobile-swiper .swiper-slide.dk-pdp-mobile-slide {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0.5rem;
}
.dk-pdp-mobile-main-image.dk-pdp-mobile-main-image {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
}
.dk-pdp-mobile-slide .dk-pdp-brand-wm-bar {
    height: 16%;
    min-height: 2rem;
}
.dk-pdp-mobile-slide .dk-pdp-brand-watermark {
    max-width: 52%;
}
.dk-pdp-lightbox-frame {
    max-width: 100%;
    max-height: 100%;
}
.dk-pdp-lightbox-frame .dk-pdp-lightbox-main-image {
    display: block;
    max-width: 100%;
}
.dk-pdp-lightbox-frame .dk-pdp-brand-wm-bar {
    height: 12%;
    min-height: 2.5rem;
}
.dk-pdp-lightbox-frame .dk-pdp-brand-watermark {
    max-width: 42%;
}
.dk-pdp-thumb {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    border-radius: 6px;
    border: 2px solid transparent;
    transition: border-color 0.2s;
    background: transparent;
}
.dk-pdp-thumb:hover,
.dk-pdp-thumb.active {
    border-color: hsl(var(--primary));
}
.dk-pdp-gallery [data-main-image] {
    background: #fff !important;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    outline: none !important;
    box-shadow: none !important;
}
.dk-pdp-gallery [data-main-image]:hover,
.dk-pdp-gallery [data-main-image]:focus,
.dk-pdp-gallery [data-main-image]:focus-visible,
.dk-pdp-gallery [data-main-image]:active {
    background: #fff !important;
    outline: none !important;
    box-shadow: none !important;
}
.dk-pdp-gallery .dk-pdp-thumb,
.dk-pdp-gallery .dk-pdp-thumb:hover,
.dk-pdp-gallery .dk-pdp-thumb:active {
    background: #fff !important;
    opacity: 1 !important;
    filter: none !important;
}
.dk-pdp-gallery .product-thumb-prev,
.dk-pdp-gallery .product-thumb-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: #fff !important;
    color: #0c0c0c;
    border: 1px solid #e0e0e0;
    outline: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    opacity: 1 !important;
    filter: none !important;
}
.dk-pdp-gallery .product-thumb-prev {
    left: 0;
}
.dk-pdp-gallery .product-thumb-next {
    right: 0;
}
.dk-pdp-gallery .product-thumb-prev:disabled,
.dk-pdp-gallery .product-thumb-next:disabled {
    opacity: 1 !important;
    background: #fff !important;
    color: #0c0c0c !important;
    border-color: #e0e0e0 !important;
    cursor: default;
}
.dk-pdp-gallery .product-thumb-prev:hover,
.dk-pdp-gallery .product-thumb-next:hover,
.dk-pdp-gallery .product-thumb-prev:focus,
.dk-pdp-gallery .product-thumb-next:focus,
.dk-pdp-gallery .product-thumb-prev:focus-visible,
.dk-pdp-gallery .product-thumb-next:focus-visible,
.dk-pdp-gallery .product-thumb-prev:active,
.dk-pdp-gallery .product-thumb-next:active {
    background: #fff !important;
    border-color: hsl(var(--primary));
    color: #0c0c0c !important;
    outline: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    opacity: 1 !important;
    filter: none !important;
}
.dk-pdp-gallery .product-thumb-prev svg,
.dk-pdp-gallery .product-thumb-next svg,
.dk-pdp-gallery .product-thumb-prev svg use,
.dk-pdp-gallery .product-thumb-next svg use,
.dk-pdp-gallery .product-thumb-prev:hover svg,
.dk-pdp-gallery .product-thumb-next:hover svg,
.dk-pdp-gallery .product-thumb-prev:focus svg,
.dk-pdp-gallery .product-thumb-next:focus svg,
.dk-pdp-gallery .product-thumb-prev:focus-visible svg,
.dk-pdp-gallery .product-thumb-next:focus-visible svg,
.dk-pdp-gallery .product-thumb-prev:active svg,
.dk-pdp-gallery .product-thumb-next:active svg {
    color: #0c0c0c !important;
    stroke: #0c0c0c !important;
    fill: none !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal;
    pointer-events: none;
}
.dk-pdp-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #0c0c0c;
    line-height: 1.5;
}
.dk-pdp-brand-link {
    font-size: 0.75rem;
    color: hsl(var(--primary));
}
.dk-pdp-brand-link:hover {
    text-decoration: underline;
}
.dk-pdp-specs-list {
    font-size: 0.8125rem;
    color: hsl(var(--text));
}
.dk-pdp-specs-list dt { color: #5c5c5c; }
.dk-pdp-quick-specs {
    border-top: 1px solid #e0e0e0;
    padding-top: 1rem;
}
.dk-pdp-spec-card {
    min-height: 62px;
    border-radius: 12px;
    background: #f5f5f5;
    padding: 0.55rem 0.7rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.2rem;
    text-align: center;
}
.dk-pdp-spec-card-label {
    font-size: 0.65rem;
    line-height: 1.5;
    color: #6b7280;
}
.dk-pdp-spec-card-value {
    font-size: 0.72rem;
    line-height: 1.5;
    font-weight: 700;
    color: #1f2937;
}
.dk-pdp-buy-box {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 1rem 1.25rem;
}
.dk-pdp-price-old {
    font-size: 0.875rem;
    color: #a1a3a8;
    text-decoration: line-through;
}
.dk-pdp-price-current {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0c0c0c;
}
.dk-shop-price {
    color: #0c0c0c;
}

/* Shop grid product card – subtle hover like PDP */
.dk-shop-card {
    border: 1px solid #e5e7eb;
    background-color: #ffffff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.dk-shop-card:hover {
    border-color: rgba(196, 30, 58, 0.35);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
    transform: translateY(-3px);
}
.dk-shop-card-image {
    background: #fff;
    border-radius: 12px;
}
.dk-shop-card-title {
    color: #111827;
    font-weight: 500;
}
.dk-shop-card-title:hover {
    color: #c41e3a;
}
.dk-shop-card-price-row {
    margin-top: 0.15rem;
}
.dk-shop-card-discount {
    min-width: 2.25rem;
    padding-inline: 0.4rem;
    border-radius: 999px;
    font-size: 0.75rem;
}
.dk-shop-card-price {
    text-align: right;
}
.dk-pdp-discount-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #fff;
    background: hsl(var(--primary-btn));
    border-radius: 4px;
}
.dk-pdp-stock-ok {
    font-size: 0.8125rem;
    color: #00a049;
}
.dk-pdp-stock-low {
    font-size: 0.8125rem;
    color: hsl(var(--primary-btn));
}
.dk-pdp-stock-none {
    font-size: 0.8125rem;
    color: hsl(var(--primary-btn));
}
.dk-pdp-btn-add {
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #fff;
    background: hsl(var(--primary-btn));
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s, filter 0.2s;
}
.dk-pdp-btn-add:hover {
    background: hsl(var(--brand-primary-dark));
}
.dk-pdp-btn-add:disabled {
    background: #a1a3a8;
    cursor: not-allowed;
}
.dk-pdp-guarantee {
    font-size: 0.75rem;
    color: #5c5c5c;
}
.dk-pdp-variant-btn {
    min-width: 2.5rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background: #fff;
    color: hsl(var(--text));
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
}
.dk-pdp-variant-btn:hover {
    border-color: hsl(var(--primary));
    color: hsl(var(--primary));
}
.dk-pdp-variant-btn.active {
    border-color: hsl(var(--primary));
    color: hsl(var(--primary));
    background: #fff5f5;
}

/* بخش توضیحات / مشخصات / دیدگاه‌ها (سبک دیجی‌کالا) */
.dk-pdp-desc {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 1.5rem;
}
.dk-pdp-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    border-bottom: 1px solid #e0e0e0;
    padding: 0 1rem;
}
.dk-pdp-tabs a {
    display: inline-flex;
    align-items: center;
    padding: 0.75rem 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #5c5c5c;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 0.2s, border-color 0.2s;
}
.dk-pdp-tabs a:hover {
    color: hsl(var(--primary));
}
.dk-pdp-tabs a.active {
    color: hsl(var(--primary));
    border-bottom-color: hsl(var(--primary));
}
.dk-pdp-section-title {
    font-size: 1rem;
    font-weight: 700;
    color: #0c0c0c;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid hsl(var(--primary));
    display: inline-block;
}
.dk-pdp-desc .dk-pdp-section-title {
    margin-top: 0;
}
.dk-pdp-specs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8125rem;
}
.dk-pdp-specs-table tr {
    border-bottom: 1px solid #f0f0f0;
}
.dk-pdp-specs-table tr:last-child {
    border-bottom: none;
}
.dk-pdp-specs-table td:first-child {
    background: #f9f9f9;
    color: #5c5c5c;
    font-weight: 500;
    padding: 0.75rem 1rem;
    width: 35%;
}
.dk-pdp-specs-table td:last-child {
    color: hsl(var(--text));
    padding: 0.75rem 1rem;
}
.dk-pdp-desc-content {
    padding: 1rem 1.25rem;
    color: hsl(var(--text));
    font-size: 0.875rem;
    line-height: 1.7;
}
.dk-pdp-btn-review {
    background: hsl(var(--primary));
    color: #fff;
    font-weight: 600;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}
.dk-pdp-btn-review:hover {
    background: #c90300;
}
.dk-pdp-rating-bar {
    background: hsl(var(--primary));
}

/* سازگاری با نام‌های قبلی */
.dk-section-primary {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 1.5rem;
    padding: 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.dk-section-primary .dk-section-header {
    background: hsl(var(--primary));
    color: #fff;
    padding: 12px 20px;
    margin-bottom: 0;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.dk-section-primary .dk-section-title {
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    margin: 0;
}
.dk-section-primary .dk-section-more {
    color: #fff;
    font-size: 0.75rem;
    opacity: 0.95;
}
.dk-section-primary .dk-section-more:hover {
    color: #fff;
    opacity: 1;
}
.dk-section-primary .swiper,
.dk-section-primary .dk-section-body {
    padding: 16px 20px;
    background: #fff;
}

/* Product card - Digikala style (general) */
.dk-product-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 12px;
    transition: box-shadow 0.2s, border-color 0.2s;
}
.dk-product-card:hover {
    border-color: #d0d0d0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.dk-product-card .dk-product-image {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}
.dk-product-card .dk-product-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.dk-product-card .dk-product-title {
    font-size: 12px;
    line-height: 1.5;
    color: #0c0c0c;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 36px;
}
.dk-product-card .dk-product-price {
    font-size: 14px;
    font-weight: 700;
    color: hsl(var(--primary));
}
.dk-product-card .dk-product-old-price {
    font-size: 11px;
    color: #9e9e9e;
    text-decoration: line-through;
}
.dk-discount-badge {
    display: inline-block;
    background: hsl(var(--primary));
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 4px;
}

.cart-page .cart-coupon-submit-btn {
    font-weight: 600;
    color: #fff;
    background: linear-gradient(180deg, hsl(var(--brand-orange)), hsl(var(--success-secondary)));
    border: none;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.1s;
}
.cart-page .cart-coupon-submit-btn:hover {
    opacity: 0.95;
}

/* ===== Global overrides: warning/yellow utilities → charcoal + silver (luxury palette) ===== */
:root {
    --shoniz-accent-muted: hsl(var(--text));
}

.text-warning,
.text-yellow-400,
.text-yellow-600,
.text-yellow-700,
.text-yellow-800 {
    color: var(--shoniz-accent-muted) !important;
}

.bg-warning,
.bg-warning\/10,
.bg-yellow-50,
.bg-yellow-100,
.bg-yellow-200,
.bg-yellow-400,
.badge-warning {
    background-color: #ececec !important;
    color: var(--shoniz-accent-muted) !important;
}

.border-warning,
.border-warning\/20,
.border-yellow-200,
.border-yellow-400 {
    border-color: rgba(34, 34, 34, 0.22) !important;
}
.btn-yellow,
.btn-yellow-nobg {
    background-color: hsl(var(--primary)) !important;
    color: #ffffff !important;
}
.profile-header-card {
    background-color: #ececec !important;
    color: var(--shoniz-accent-muted) !important;
}

/* ===== Global click feedback (all buttons) ===== */
button:not([disabled]),
input[type="button"]:not([disabled]),
input[type="submit"]:not([disabled]),
input[type="reset"]:not([disabled]),
a[role="button"]:not([aria-disabled="true"]) {
    transition: transform 120ms ease, box-shadow 120ms ease, opacity 120ms ease, filter 120ms ease;
}

button:not([disabled]),
a[role="button"]:not([aria-disabled="true"]) {
    position: relative;
    overflow: hidden; /* keep spinner within bounds */
}

button:active,
input[type="button"]:active,
input[type="submit"]:active,
input[type="reset"]:active,
a[role="button"]:active {
    transform: translateY(1px) scale(0.98);
    filter: brightness(0.98);
}

button.is-clicked,
input[type="button"].is-clicked,
input[type="submit"].is-clicked,
input[type="reset"].is-clicked,
a[role="button"].is-clicked {
    /* Loading feedback without making the whole button look white */
    transform: translateY(1px) scale(0.98);
    box-shadow: none;
    filter: none;
    cursor: progress;
}

/* Spinner overlay */
button.is-clicked::after,
a[role="button"].is-clicked::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-left: -9px;
    margin-top: -9px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: rgba(255, 255, 255, 1);
    animation: shoniz-spin 650ms linear infinite;
    z-index: 2;
    pointer-events: none; /* don't interfere with clicks */
}

/* Hide button contents while spinner shows */
button.is-clicked > *,
input[type="button"].is-clicked,
input[type="submit"].is-clicked,
input[type="reset"].is-clicked,
a[role="button"].is-clicked > * {
    /* Keep layout stable; just dim content instead of fully hiding it */
    visibility: visible;
    opacity: 0.55;
}

/* Inputs don't have children; hide their value by making text transparent */
input[type="button"].is-clicked,
input[type="submit"].is-clicked,
input[type="reset"].is-clicked {
    color: inherit !important;
    opacity: 0.6;
}

@keyframes shoniz-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    button:not([disabled]),
    input[type="button"]:not([disabled]),
    input[type="submit"]:not([disabled]),
    input[type="reset"]:not([disabled]),
    a[role="button"]:not([aria-disabled="true"]) {
        transition: none !important;
    }

    button:active,
    input[type="button"]:active,
    input[type="submit"]:active,
    input[type="reset"]:active,
    a[role="button"]:active,
    button.is-clicked,
    input[type="button"].is-clicked,
    input[type="submit"].is-clicked,
    input[type="reset"].is-clicked,
    a[role="button"].is-clicked {
        transform: none !important;
        box-shadow: none !important;
    }

    button.is-clicked::after,
    a[role="button"].is-clicked::after {
        animation: none !important;
    }
}

