:root{
  --acke-bg:#f6f6f6;
  --acke-border:#e5e5e5;
  --acke-text:#222;
  --acke-muted:#777;
  --acke-accent:#DE8A26;

  --acke-font:"Plus Jakarta Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --acke-title-font:20px;
  --acke-parent-font:18px;
  --acke-item-font:16px;

  --acke-title-lh:30px;
  --acke-parent-lh:28px;
  --acke-item-lh:26px;

  /* Drawer vars */
  --acke-drawer-width: 88vw;
  --acke-drawer-max: 420px;
  --acke-overlay: rgba(0,0,0,.45);
}

.acke-filter, .acke-filter *{ box-sizing:border-box !important; }

.acke-filter{
  font-family:var(--acke-font) !important;
  color:var(--acke-text) !important;
  background:var(--acke-bg) !important;
  border:1px solid var(--acke-border) !important;
  border-radius:12px !important;
  padding:14px !important;
  line-height:1.35 !important;
  overflow:visible !important;
}

.acke-filter button{
  appearance:none !important;
  -webkit-appearance:none !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  font:inherit !important;
  color:inherit !important;
}
.acke-filter ul, .acke-filter li{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.acke-filter button:focus, .acke-filter button:focus-visible{
  outline:none !important;
  box-shadow:none !important;
}

/* ACCORDION */
.acke-filter .acke-acc{
  border:1px solid var(--acke-border) !important;
  background:#fff !important;
  border-radius:12px !important;
  margin:0 0 12px 0 !important;
  overflow:hidden !important;
}

.acke-filter .acke-acc__head{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  padding:14px 14px !important;
  background:#fff !important;
  border:0 !important;
  cursor:pointer !important;
}

.acke-filter .acke-acc__title{
  font-weight:800 !important;
  font-size:var(--acke-title-font) !important;
  line-height:var(--acke-title-lh) !important;
  color:var(--acke-text) !important;
}

.acke-filter .acke-acc__chev{
  display:inline-flex !important;
  width:28px !important;
  height:28px !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:8px !important;
  border:1px solid var(--acke-border) !important;
  background:#fff !important;
  color:#333 !important;
  font-weight:900 !important;
  line-height:1 !important;
  transform:rotate(180deg);
  transition:.15s ease;
}
.acke-filter .acke-acc--open .acke-acc__chev{ transform:rotate(0deg); }

.acke-filter .acke-acc__body{
  border-top:1px solid var(--acke-border) !important;
  padding:10px 12px 12px 12px !important;
  background:#fff !important;
}

/* SCROLL LIST default (atributi) */
.acke-filter .acke-scroll{
  max-height:280px !important;
  overflow:auto !important;
  padding-right:6px !important;
}
.acke-filter .acke-scroll::-webkit-scrollbar{ width:8px; }
.acke-filter .acke-scroll::-webkit-scrollbar-track{ background:transparent; }
.acke-filter .acke-scroll::-webkit-scrollbar-thumb{
  background:#d8d8d8;
  border-radius:6px;
}

/* CATEGORIES: bez internog scrolla */
.acke-filter .acke-acc--cats .acke-scroll{
  max-height:none !important;
  overflow:visible !important;
  padding-right:0 !important;
}
.acke-filter .acke-acc--cats .acke-children[style],
.acke-filter .acke-acc--cats .acke-scroll[style],
.acke-filter .acke-acc--cats .acke-acc__body[style]{
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
}

/* CATEGORY TREE */
.acke-filter .acke-parent__row{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:8px 6px !important;
}

.acke-filter .acke-parent__toggle{
  width:22px !important;
  height:22px !important;
  border-radius:6px !important;
  border:1px solid var(--acke-border) !important;
  background:#fff !important;
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  line-height:1 !important;
  transform: translateY(-1px) !important;
}
.acke-filter .acke-toggle__icon{
  font-weight:900 !important;
  color:#333 !important;
  line-height:1 !important;
  font-size:16px !important;
  transform: translateY(-1px) !important;
}

.acke-filter .acke-parent__select{
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
}

.acke-filter .acke-parent__name{
  font-weight:800 !important;
  color:#111 !important;
  font-size:var(--acke-parent-font) !important;
  line-height:var(--acke-parent-lh) !important;
  text-transform:uppercase !important;
  letter-spacing:.2px !important;
}
.acke-filter .acke-parent.is-active-parent .acke-parent__name{
  color:var(--acke-accent) !important;
}

.acke-filter .acke-children{
  padding:6px 0 8px 34px !important;
  border-left:2px solid rgba(222,138,38,.20) !important;
  margin-left:10px !important;
}

/* ITEMS */
.acke-filter .acke-item{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:7px 6px !important;
  cursor:pointer !important;
  user-select:none !important;
}

.acke-filter .acke-input{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.acke-filter .acke-box{
  width:16px !important;
  height:16px !important;
  border-radius:4px !important;
  border:1px solid #cfcfcf !important;
  background:#fff !important;
  flex:0 0 auto !important;
}

.acke-filter .acke-item__name{
  font-size:var(--acke-item-font) !important;
  line-height:var(--acke-item-lh) !important;
  color:#333 !important;
  font-weight:500 !important;
}

.acke-filter .acke-children .acke-item__name{
  text-transform:uppercase !important;
  letter-spacing:.2px !important;
}

.acke-filter .acke-item.is-selected .acke-item__name{
  color:var(--acke-accent) !important;
  font-weight:800 !important;
}
.acke-filter .acke-item input:checked + .acke-box{
  background:var(--acke-accent) !important;
  border-color:var(--acke-accent) !important;
  box-shadow:0 0 0 3px rgba(222,138,38,.18) !important;
}

/* FILTER BAR */
.acke-filterbar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:12px 14px !important;
  border:1px solid var(--acke-border) !important;
  border-radius:12px !important;
  background:#fff !important;
  font-family:var(--acke-font) !important;
}

.acke-filterbar__left{ flex:1 1 auto !important; min-width:0 !important; display:flex !important; align-items:center !important; gap:10px !important; }
.acke-filterbar__empty{ color:var(--acke-muted) !important; font-size:14px !important; }

.acke-chips{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

.acke-chip{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:8px 10px !important;
  border:1px solid var(--acke-border) !important;
  border-radius:999px !important;
  background:var(--acke-bg) !important;
  color:var(--acke-text) !important;
  line-height:1 !important;
}

.acke-chip__label{ font-weight:700 !important; font-size:13px !important; color:#111 !important; }
.acke-chip__value{ font-weight:600 !important; font-size:13px !important; }

.acke-chip__x{
  appearance:none !important;
  -webkit-appearance:none !important;
  border:0 !important;
  background:transparent !important;
  cursor:pointer !important;
  font-size:18px !important;
  color:#444 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:20px !important;
  height:20px !important;
  line-height:1 !important;
  transform: translateY(-2px) !important;
  padding:0 !important;
  margin:0 !important;
}
.acke-chip__x:hover{ color:#000 !important; }

/* BOJA u filter baru: vrijednost velikim slovima */
.acke-chip[data-chip-priority="boja"] .acke-chip__value{
  text-transform:uppercase !important;
  letter-spacing:.2px !important;
}

.acke-filterbar__right{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  flex:0 0 auto !important;
}

.acke-count{ font-size:14px !important; color:#111 !important; white-space:nowrap !important; }

.acke-sort{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  white-space:nowrap !important;
}
.acke-sort__label{ font-size:14px !important; color:#111 !important; font-weight:700 !important; }

.acke-sort__select{
  border:1px solid var(--acke-border) !important;
  border-radius:10px !important;
  padding:8px 10px !important;
  background:#fff !important;
  font:inherit !important;
  color:var(--acke-text) !important;
}

/* FILTER BUTTON (u filter baru) */
.acke-filterbar__filter{
  display:none !important; /* desktop hidden */
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:10px 12px !important;
  border:1px solid var(--acke-border) !important;
  border-radius:10px !important;
  background:var(--acke-bg) !important;
  color:#111 !important;
  font-weight:800 !important;
  line-height:1 !important;
  cursor:pointer !important;
  white-space:nowrap !important;
}
.acke-filterbar__filter:active{ transform: translateY(1px); }

/* ELEMENTOR: (desktop) spriječi rezanje visine oko filtera */
.elementor-widget-container:has(.acke-filter),
.elementor-column:has(.acke-filter),
.elementor-container:has(.acke-filter){
  overflow:visible !important;
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
}

/* ---------------------------
   DRAWER / OFFCANVAS (Tablet + Mob)
   --------------------------- */

/* Overlay */
.acke-filter-overlay{
  position:fixed;
  inset:0;
  background:var(--acke-overlay);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
  z-index:99998;
}

/* Scroll lock */
body.acke-filter-scrolllock{
  overflow:hidden !important;
}

/* Tablet/Mob */
@media (max-width: 1024px){

  .acke-filterbar__filter{
    display:inline-flex !important;
  }

  .acke-filter-holder{
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .acke-filter.acke-filter--drawer{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    height:100vh !important;
    width:var(--acke-drawer-width) !important;
    max-width:var(--acke-drawer-max) !important;

    z-index:99999 !important;

    border-radius:16px 0 0 16px !important;
    border-left:1px solid var(--acke-border) !important;
    border-top:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;

    padding:12px !important;
    background:#fff !important;

    transform:translateX(110%) !important;
    transition:transform .22s ease !important;

    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
  }

  .acke-filter__drawer-head{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    padding:6px 2px 10px 2px !important;
    border-bottom:1px solid var(--acke-border) !important;
    margin-bottom:10px !important;
    background:#fff !important;
    flex:0 0 auto !important;
  }

  .acke-filter__drawer-close{
    width:46px !important;
    height:46px !important;
    border-radius:12px !important;
    border:1px solid var(--acke-border) !important;
    background:var(--acke-bg) !important;
    font-size:28px !important;
    font-weight:900 !important;
    line-height:1 !important;
    cursor:pointer !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#111 !important;
  }

  .acke-filter__drawer-body{
    flex:1 1 auto !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
    padding-right:4px !important;
  }

  .acke-filter.acke-filter--drawer .acke-scroll{
    max-height:none !important;
  }

  html.acke-filter-drawer-open .acke-filter-overlay{
    opacity:1;
    pointer-events:auto;
  }
  html.acke-filter-drawer-open .acke-filter.acke-filter--drawer.acke-filter--drawer-open{
    transform:translateX(0) !important;
  }

  .acke-filter.acke-filter--drawer .acke-acc__head{
    padding:14px 12px !important;
  }
  .acke-filter.acke-filter--drawer .acke-item{
    padding:10px 6px !important;
  }
}

@media (min-width: 1025px){
  .acke-filter-overlay{ display:none !important; }
}

/* MOBILE */
@media (max-width: 767px){

  .acke-filterbar{
    justify-content:space-between !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:10px !important;
  }

  .acke-filterbar__left .acke-chips,
  .acke-filterbar__left .acke-filterbar__empty{
    display:none !important;
  }

  .acke-filterbar__left{
    flex:0 0 auto !important;
    min-width:auto !important;
  }

  .acke-filterbar__right{
    flex:0 0 auto !important;
    gap:8px !important;
  }

  .acke-count,
  .acke-sort__label{
    display:none !important;
  }

  .acke-sort__select{
    width:auto !important;
    max-width:190px !important;
  }

  .acke-filterbar__filter{
    display:inline-flex !important;
    flex:0 0 auto !important;
  }
}

/* TABLET */
@media (min-width: 768px) and (max-width: 1024px){

  .acke-filterbar{
    flex-wrap:nowrap !important;
    align-items:center !important;
  }

  .acke-filterbar__left{
    min-width:0 !important;
  }

  .acke-chips{
    flex-wrap:nowrap !important;
    overflow:auto !important;
    white-space:nowrap !important;
    -webkit-overflow-scrolling:touch !important;
    gap:8px !important;
    padding-bottom:2px !important;
  }
  .acke-chip{ flex:0 0 auto !important; }

  .acke-count{
    display:inline-block !important;
  }

  .acke-filterbar__filter{
    display:inline-flex !important;
  }
}