
/* Khademi Category Carousel — Circular Minimal Design */

.kcc-wrap {
    --kcc-accent: var(--e-global-color-primary, #2761e7);
    --kcc-text: #20283a;
    --kcc-muted: #858b99;

    direction: rtl;
    width: 100%;
    color: var(--kcc-text);
    font-family: inherit;
}

.kcc-wrap *,
.kcc-wrap *::before,
.kcc-wrap *::after {
    box-sizing: border-box;
}

/* Header */
.kcc-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 26px;
}

.kcc-heading-group {
    min-width: 0;
}

.kcc-title {
    margin: 0;
    color: var(--kcc-text);
    font-size: clamp(19px, 2vw, 25px);
    font-weight: 800;
    line-height: 1.7;
    letter-spacing: -0.4px;
}

.kcc-description {
    margin: 3px 0 0;
    color: var(--kcc-muted);
    font-size: 13px;
    line-height: 1.8;
}

/* Navigation */
.kcc-controls {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.kcc-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid #e9edf3;
    border-radius: 50%;
    background: #fff;
    color: #374151;
    cursor: pointer;
    transition: all .25s ease;
}

.kcc-nav svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.kcc-nav:hover {
    color: #fff;
    background: var(--kcc-accent);
    border-color: var(--kcc-accent);
}

.kcc-nav.swiper-button-disabled {
    opacity: .35;
    cursor: default;
}

/* Slider */
.kcc-swiper {
    overflow: hidden;
    padding: 8px 4px 14px;
    margin: 0 -4px;
}

.kcc-swiper .swiper-slide {
    height: auto;
}

/* Remove the old card appearance */
.kcc-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
    text-decoration: none !important;
    text-align: center;
    transition: transform .25s ease;
}

.kcc-card:hover {
    color: inherit;
    background: transparent;
    border: 0;
    box-shadow: none;
    transform: translateY(-3px);
}

/* Perfect circular image */
.kcc-image-wrap {
    position: relative;
    display: block;
    width: min(100%, 124px);
    aspect-ratio: 1 / 1;
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid #edf0f5;
    border-radius: 50%;
    background: #f6f8fb;
    box-shadow: 0 4px 15px rgba(25, 40, 70, .045);
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.kcc-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    transition: transform .35s ease;
}

.kcc-card:hover .kcc-image-wrap {
    border-color: rgba(39, 97, 231, .4);
    box-shadow: 0 8px 23px rgba(39, 97, 231, .12);
}

.kcc-card:hover .kcc-image {
    transform: scale(1.06);
}

/* No overlays or image arrows */
.kcc-image-shade,
.kcc-arrow {
    display: none !important;
}

.kcc-image-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: linear-gradient(135deg, #f4f6fa, #e7edf7);
}

/* Category name only */
.kcc-card-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-height: 0;
    gap: 0;
    padding: 12px 3px 0;
    text-align: center;
}

.kcc-card-title {
    display: block;
    max-width: 100%;
    color: var(--kcc-text);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.9;
    overflow-wrap: anywhere;
    transition: color .2s ease;
}

.kcc-card:hover .kcc-card-title {
    color: var(--kcc-accent);
}

/* Hide secondary text and product counts */
.kcc-card-subtitle,
.kcc-count {
    display: none !important;
}

/* Progress indicator not needed */
.kcc-progress {
    display: none !important;
}

/* Admin notice */
.kcc-notice {
    padding: 12px 16px;
    border: 1px solid #e5e9f1;
    border-radius: 10px;
    background: #f8faff;
    color: #47536a;
    font-size: 14px;
}

/* Tablet */
@media (max-width: 1024px) {
    .kcc-image-wrap {
        width: min(100%, 108px);
    }

    .kcc-header {
        margin-bottom: 20px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .kcc-header {
        margin-bottom: 16px;
        gap: 10px;
    }

    .kcc-title {
        font-size: 19px;
    }

    .kcc-description {
        font-size: 12px;
    }

    .kcc-nav {
        width: 33px;
        height: 33px;
    }

    .kcc-swiper {
        padding-top: 5px;
        padding-bottom: 10px;
    }

    .kcc-image-wrap {
        width: min(100%, 88px);
    }

    .kcc-card-info {
        padding-top: 9px;
    }

    .kcc-card-title {
        font-size: 12px;
        line-height: 1.8;
    }
}

/* Small phones */
@media (max-width: 380px) {
    .kcc-image-wrap {
        width: min(100%, 74px);
    }

    .kcc-card-title {
        font-size: 11px;
    }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .kcc-wrap *,
    .kcc-wrap *::before,
    .kcc-wrap *::after {
        transition: none !important;
    }
}


/* Digitake Store Elements: clean, quiet storefront components */
.dse-slider-shell { position:relative; width:100%; overflow:hidden; direction:rtl; }
.dse-swiper { width:100%; overflow:hidden; border-radius:12px; }
.dse-visual-slide { width:100%; height:100%; overflow:hidden; }
.dse-visual-slide a, .dse-visual-slide picture { display:block; width:100%; height:100%; }
.dse-visual-slide img { display:block; width:100%; height:100%; object-fit:cover; }
.dse-hero-slider { --dse-slider-height: clamp(260px, 36vw, 520px); }
.dse-hero-slider .dse-swiper, .dse-hero-slider .dse-visual-slide { height:var(--dse-slider-height); }
.dse-wide-slider { --dse-slider-height:400px; }
.dse-wide-slider .dse-swiper, .dse-wide-slider .dse-visual-slide { height:var(--dse-slider-height); }
.dse-slider-nav {
  position:absolute; z-index:5; top:50%; transform:translateY(-50%);
  display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; padding:0; border:1px solid rgba(255,255,255,.8);
  border-radius:50%; background:rgba(255,255,255,.9); color:#26334b;
  font:400 27px/1 inherit; cursor:pointer; transition:background .2s ease;
}
.dse-slider-nav:hover { background:#fff; }
.dse-slider-prev { right:14px; }
.dse-slider-next { left:14px; }
.dse-pagination { position:absolute; z-index:4; bottom:14px !important; display:flex; justify-content:center; gap:5px; }
.dse-pagination .swiper-pagination-bullet { width:7px; height:7px; margin:0 !important; opacity:.6; background:#fff; }
.dse-pagination .swiper-pagination-bullet-active { width:20px; border-radius:5px; opacity:1; }
.dse-empty { padding:14px 18px; border-radius:8px; background:#f6f8fb; color:#596579; }

/* Product strip with one-card-width content panel on the right */
.dse-product-section {
  --dse-accent:var(--e-global-color-primary, #2761e7);
  display:grid; grid-template-columns:minmax(220px, 25%) minmax(0, 1fr);
  gap:16px; width:100%; direction:rtl; align-items:stretch;
}
.dse-product-aside {
  min-width:0; display:flex; flex-direction:column; justify-content:space-between;
  padding:24px 20px 18px; border-radius:12px; overflow:hidden;
}
.dse-aside-content h2 { margin:0 0 10px; color:#20283a; font-size:clamp(19px, 2vw, 25px); line-height:1.55; font-weight:800; }
.dse-aside-content p { margin:0; color:#657086; font-size:14px; line-height:1.9; }
.dse-timer-label { margin-top:18px; color:#28354b; font-size:13px; font-weight:700; }
.dse-countdown { margin-top:10px; color:#20283a; font-size:20px; font-weight:800; font-variant-numeric:tabular-nums; direction:rtl; }
.dse-aside-button { display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; margin-top:18px; padding:10px 16px; border-radius:7px; background:var(--dse-accent); color:#fff !important; text-decoration:none !important; font-size:13px; font-weight:700; }
.dse-aside-button:hover { color:#fff !important; }
.dse-product-controls { display:flex; gap:7px; margin-top:20px; }
.dse-product-prev, .dse-product-next {
  display:flex; align-items:center; justify-content:center; width:34px; height:34px; padding:0;
  border:1px solid rgba(30,45,70,.13); border-radius:50%; background:transparent;
  color:#26334b; font-size:24px; line-height:1; cursor:pointer;
}
.dse-product-prev:hover, .dse-product-next:hover { background:#fff; }
.dse-products-area { min-width:0; overflow:hidden; padding:2px 1px; }
.dse-products-swiper { width:100%; height:100%; overflow:hidden; }
.dse-products-swiper ul.products { display:flex !important; flex-wrap:nowrap !important; margin:0 !important; padding:0 !important; list-style:none; }
.dse-products-swiper ul.products::before, .dse-products-swiper ul.products::after { display:none !important; content:none !important; }
.dse-products-swiper ul.products > li.product.swiper-slide { float:none !important; clear:none !important; width:auto !important; max-width:none !important; height:auto; margin:0 !important; flex-shrink:0; }
.dse-products-swiper ul.products > li.product.swiper-slide .woocommerce-loop-product__title { overflow-wrap:anywhere; }
.dse-products-swiper .swiper-wrapper { align-items:stretch; }
.dse-products-swiper .swiper-slide { height:auto; }

/* Banner layout */
.dse-banners { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; width:100%; }
.dse-banners.dse-columns-1 { grid-template-columns:minmax(0,1fr); }
.dse-banners.dse-columns-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.dse-banners.dse-columns-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dse-banners.dse-columns-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.dse-banner { min-width:0; overflow:hidden; border-radius:10px; background:#f5f7fa; }
.dse-banner a, .dse-banner picture { display:block; width:100%; }
.dse-banner img { display:block; width:100%; height:auto; }

/* Responsive */
@media (max-width: 900px) {
  .dse-product-section { grid-template-columns:minmax(180px, 30%) minmax(0,1fr); gap:12px; }
  .dse-product-aside { padding:20px 15px 15px; }
  .dse-banners.dse-columns-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dse-banners.dse-columns-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dse-wide-slider { --dse-slider-height:320px; }
}
@media (max-width: 600px) {
  .dse-product-section { grid-template-columns:1fr; gap:12px; }
  .dse-product-aside { min-height:0; padding:18px; }
  .dse-aside-content h2 { font-size:20px; }
  .dse-aside-content p { font-size:13px; }
  .dse-product-controls { margin-top:14px; }
  .dse-banners { gap:10px; }
  .dse-banners.dse-columns-3, .dse-banners.dse-columns-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dse-wide-slider { --dse-slider-height:220px; }
  .dse-hero-slider { --dse-slider-height:260px; }
  .dse-slider-nav { width:32px; height:32px; }
  .dse-slider-prev { right:8px; }
  .dse-slider-next { left:8px; }
}


/* v3: configurable clean backgrounds for each product-carousel instance */
.dse-product-aside {
  background: var(--dse-bg-one, #f3f6fb);
  color: #20283a;
}
.dse-product-aside.dse-bg-blue {
  background: linear-gradient(135deg, var(--dse-bg-one, #2761e7) 0%, var(--dse-bg-two, #dce8ff) 100%);
}
.dse-product-aside.dse-bg-violet {
  background: linear-gradient(135deg, #eee8ff 0%, #d9d7ff 55%, #e8edff 100%);
}
.dse-product-aside.dse-bg-sunset {
  background: linear-gradient(135deg, #fff0dc 0%, #ffd9c8 55%, #ffe8e5 100%);
}
.dse-product-aside.dse-bg-dark {
  background: linear-gradient(145deg, #202b40 0%, #111827 100%);
  color: #fff;
}
.dse-product-aside.dse-bg-custom {
  background: linear-gradient(135deg, var(--dse-bg-one, #2761e7) 0%, var(--dse-bg-two, #dce8ff) 100%);
}
.dse-bg-blue .dse-aside-content h2,
.dse-bg-dark .dse-aside-content h2 { color: #fff; }
.dse-bg-blue .dse-aside-content p,
.dse-bg-dark .dse-aside-content p { color: rgba(255,255,255,.82); }
.dse-bg-blue .dse-timer-label,
.dse-bg-dark .dse-timer-label,
.dse-bg-blue .dse-countdown,
.dse-bg-dark .dse-countdown { color: #fff; }
.dse-bg-blue .dse-product-prev,
.dse-bg-blue .dse-product-next,
.dse-bg-dark .dse-product-prev,
.dse-bg-dark .dse-product-next { color:#fff; border-color:rgba(255,255,255,.35); }
.dse-bg-blue .dse-product-prev:hover,
.dse-bg-blue .dse-product-next:hover,
.dse-bg-dark .dse-product-prev:hover,
.dse-bg-dark .dse-product-next:hover { background:rgba(255,255,255,.15); }
.dse-product-section .dse-products-swiper ul.products > li.product {
  box-sizing: border-box;
}
.dse-banners img { border-radius: inherit; }

/* No decorative hover glow or exaggerated movement */
.dse-slider-nav, .dse-aside-button, .dse-product-prev, .dse-product-next {
  box-shadow: none !important;
}
.dse-slider-nav:hover, .dse-aside-button:hover,
.dse-product-prev:hover, .dse-product-next:hover {
  transform: none !important;
}

/* Product carousel layout system: styles the carousel shell only, not WooCommerce product cards. */
.dse-product-section { --dse-accent:var(--dse-accent, #2761e7); gap:var(--dse-shell-gap,16px); }
.dse-product-section .dse-product-aside { border-radius:var(--dse-radius,18px); }
.dse-product-section .dse-products-area { background:var(--dse-area-bg,#fff); border-radius:var(--dse-radius,18px); }
.dse-product-section .dse-aside-content h2 { color:var(--dse-title-color,#20283a); }
.dse-product-section .dse-aside-content p { color:var(--dse-text-color,#657086); }
.dse-product-section .dse-timer-label,
.dse-product-section .dse-countdown { color:var(--dse-title-color,#20283a); }
.dse-product-section .dse-aside-button { background:var(--dse-accent,#2761e7); border-radius:calc(var(--dse-radius,18px) / 2); }
.dse-product-section .dse-product-prev,
.dse-product-section .dse-product-next { border-radius:calc(var(--dse-radius,18px) / 2); border-color:color-mix(in srgb, var(--dse-accent,#2761e7) 30%, transparent); color:var(--dse-accent,#2761e7); }
.dse-product-section .dse-product-prev:hover,
.dse-product-section .dse-product-next:hover { background:color-mix(in srgb, var(--dse-accent,#2761e7) 9%, white); }
.dse-product-section.dse-layout-top { display:flex; flex-direction:column; }
.dse-product-section.dse-layout-top .dse-product-aside { order:0; min-height:0; flex-direction:row; align-items:center; gap:22px; padding:18px 22px; }
.dse-product-section.dse-layout-top .dse-aside-content { flex:1; min-width:0; display:flex; align-items:center; flex-wrap:wrap; column-gap:18px; row-gap:5px; }
.dse-product-section.dse-layout-top .dse-aside-content h2 { margin:0; }
.dse-product-section.dse-layout-top .dse-aside-content p { margin:0; }
.dse-product-section.dse-layout-top .dse-timer-label,
.dse-product-section.dse-layout-top .dse-countdown,
.dse-product-section.dse-layout-top .dse-aside-button { margin-top:0; }
.dse-product-section.dse-layout-top .dse-product-controls { margin:0; flex-shrink:0; }
.dse-product-section.dse-layout-overlay { display:flex; flex-direction:column; gap:0; overflow:hidden; border-radius:var(--dse-radius,18px); background:var(--dse-area-bg,#fff); }
.dse-product-section.dse-layout-overlay .dse-product-aside { order:0; border-radius:0; min-height:0; flex-direction:row; align-items:center; gap:20px; padding:22px 26px; }
.dse-product-section.dse-layout-overlay .dse-aside-content { flex:1; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:20px; }
.dse-product-section.dse-layout-overlay .dse-aside-content h2 { grid-column:1; margin:0; }
.dse-product-section.dse-layout-overlay .dse-aside-content p { grid-column:1; }
.dse-product-section.dse-layout-overlay .dse-timer-label,
.dse-product-section.dse-layout-overlay .dse-countdown { grid-column:2; grid-row:1; margin:0; }
.dse-product-section.dse-layout-overlay .dse-aside-button { grid-column:2; grid-row:2; justify-self:start; margin-top:8px; }
.dse-product-section.dse-layout-overlay .dse-product-controls { margin:0; flex-shrink:0; }
.dse-product-section.dse-layout-overlay .dse-products-area { padding:18px; border-radius:0; }
.dse-product-section.dse-layout-minimal { display:flex; flex-direction:column; gap:12px; }
.dse-product-section.dse-layout-minimal .dse-product-aside { min-height:0; padding:12px 2px; background:transparent !important; flex-direction:row; align-items:center; gap:18px; }
.dse-product-section.dse-layout-minimal .dse-aside-content { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; flex:1; }
.dse-product-section.dse-layout-minimal .dse-aside-content h2 { margin:0; }
.dse-product-section.dse-layout-minimal .dse-aside-content p { margin:0; }
.dse-product-section.dse-layout-minimal .dse-timer-label,
.dse-product-section.dse-layout-minimal .dse-countdown,
.dse-product-section.dse-layout-minimal .dse-aside-button { margin-top:0; }
.dse-product-section.dse-layout-minimal .dse-product-controls { margin:0; }
.dse-product-section.dse-layout-minimal .dse-products-area { padding:12px; }
@media(max-width:700px) {
 .dse-product-section.dse-layout-top .dse-product-aside,
 .dse-product-section.dse-layout-overlay .dse-product-aside { align-items:flex-start; flex-direction:column; gap:12px; padding:16px; }
 .dse-product-section.dse-layout-top .dse-aside-content,
 .dse-product-section.dse-layout-overlay .dse-aside-content { display:flex; align-items:flex-start; flex-direction:column; gap:6px; width:100%; }
 .dse-product-section.dse-layout-top .dse-product-controls,
 .dse-product-section.dse-layout-overlay .dse-product-controls { align-self:flex-end; }
 .dse-product-section.dse-layout-overlay .dse-products-area { padding:10px; }
 .dse-product-section.dse-layout-minimal .dse-product-aside { flex-wrap:wrap; }
}
