/* EK Woo Product Slider – Lightweight, no forced RTL. Fonts inherit from theme. */
.ekps{ box-sizing:border-box; }
.ekps-top{ display:flex; justify-content:flex-end; margin-bottom:24px; }
.ekps-heading-wrap{ display:flex; align-items:center; height:24px; padding-right:16px; border-right:4px solid var(--ek-accent, #0BA5EC); }
.ekps-heading{ margin:0; font-weight:700; color:#0E1116; }
/* viewport & track */
.ekps-viewport{ position:relative; }
.ekps-track{ display:flex; gap: var(--ek-gap, 32px); overflow-x:auto; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; padding: 0 8px; scrollbar-width:none; }
.ekps-track::-webkit-scrollbar{ display:none; }
/* item width responsive based on slides variables */
.ekps-item{ flex: 0 0 calc( (100% - (var(--ek-gap,32px) * (var(--ek-slides,5) - 1))) / var(--ek-slides,5) ); scroll-snap-align:start; text-align:right; }
@media (max-width:1024px){ .ekps-item{ flex-basis: calc( (100% - (var(--ek-gap,32px) * (var(--ek-slides-t,3) - 1))) / var(--ek-slides-t,3) ); } }
@media (max-width:768px){ .ekps-item{ flex-basis: calc( (100% - (var(--ek-gap,32px) * (var(--ek-slides-m,1) - 1))) / var(--ek-slides-m,1) ); } }
/* arrows similar to screenshot */
.ekps-arrow{ position:absolute; top:45%; transform:translateY(-50%); width:36px; height:36px; background:transparent; border:0; cursor:pointer; z-index:2; }
.ekps-prev{ left:-8px; }
.ekps-next{ right:-8px; }
.ekps-arrow::before{content: "\203A";display:block; width:10px; height:18px; margin:auto; border-left:0; transform:skewX(-10deg); }
.ekps-prev::before{ content: "\203A";transform:rotate(180deg); border-left:0; }
/* card design */
.ekps-card{ position:relative; display:flex; align-items:center; justify-content:center; height:260px; border-radius:16px; overflow:hidden; background:#0096A1; box-shadow: 0 0 0 1px rgba(255,255,255,0.05) inset; }
.ekps-dots{ position:absolute; inset:0; pointer-events:none; opacity:.18; background-image: radial-gradient(#ffffff 1px, transparent 1px); background-size:12px 12px; mix-blend-mode:overlay; }
/* inner white frame: force perfect square for equal image box */
.ekps-frame{ position:relative; display:flex; align-items:center; justify-content:center; width:75%; aspect-ratio: 1 / 1; background:#fff; border-radius: var(--ek-frame-r,18px); box-shadow: 0 0 0 12px rgba(255,255,255,0.16) inset; }
.ekps-img{ width: calc(var(--ek-icon,78%) ); height: calc(var(--ek-icon,78%) ); object-fit: contain; display:block; }
/* content under card */
.ekps-title{ margin:12px 0 8px; font-weight:700; color:#101828; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ekps-title a{ color:inherit; text-decoration:none; }
.ekps-meta{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.ekps-prices{ display:flex; flex-direction:column; gap:6px; text-align:left; }
.ekps-price{ color:#101828; font-weight:700; }
.ekps-price--regular{ color:#667085; text-decoration:line-through; font-size:.9rem; }
.ekps-badge{ display:inline-flex; align-items:center; justify-content:center; height:24px; padding:2px 10px; border-radius:999px; background:#FEF3F2; color:#B42318; font-weight:600; font-size:.85rem; }
.ekps-empty{ opacity:.7; }
/* === EKPS Fixes v5 (drag + overflow hardening) — 2025-11-02 === */
.ekps-viewport{ position:relative; width:100%; }
.ekps-track{
  display:flex; gap: var(--ek-gap, 32px);
  overflow-x:auto !important; overflow-y:hidden;
  width:100%;
  -webkit-overflow-scrolling: touch; scrollbar-width:none;
  scroll-snap-type:x mandatory; scroll-snap-stop: always;
  touch-action: pan-x; user-select: none;
}
.ekps-track::-webkit-scrollbar{ display:none; }
.ekps-item{ scroll-snap-align:start; }
.ekps-dragging .ekps-track{ cursor: grabbing; }
.ekps-track{ cursor: grab; }
@media (max-width:768px){
  .ekps{ --ek-gap:16px !important; }
  .ekps-viewport{ padding-inline: var(--ek-gap) !important; }
  .ekps-track{ padding-inline: 0 !important; scroll-padding-inline: var(--ek-gap) !important; }
  .ekps-item{ --ek-slides-m:2.5 !important; flex:0 0 calc((100% - (var(--ek-gap) * (var(--ek-slides-m) - 1))) / var(--ek-slides-m)) !important; }
  .ekps-heading-wrap{ border-right:0 !important; padding-right:0 !important; }
}
[dir="rtl"] .ekps{ direction: rtl; }
.ekps .ekps-arrow{ display:inline-flex !important; align-items:center; justify-content:center; }
.ekps-arrow::before{ content:""; display:block; width:10px; height:18px; border-top:3px solid currentColor; border-right:3px solid currentColor; transform:rotate(45deg); }
.ekps-prev::before{ transform: rotate(225deg); }
