/* Apex Theme — grid effects */
.apxt-fx{animation-duration:var(--fx-s,2s);animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-delay:var(--fx-delay,0s);will-change:opacity,box-shadow,transform}
.apxt-d0{--fx-delay:0s}
.apxt-d1{--fx-delay:calc(var(--fx-s,2s)*.17)}
.apxt-d2{--fx-delay:calc(var(--fx-s,2s)*.34)}
.apxt-d3{--fx-delay:calc(var(--fx-s,2s)*.51)}
.apxt-d4{--fx-delay:calc(var(--fx-s,2s)*.68)}
.apxt-d5{--fx-delay:calc(var(--fx-s,2s)*.85)}
.apxt-fx-blink{animation-name:apxt-blink}
.apxt-fx-glow{animation-name:apxt-glow}
.apxt-fx-flicker{animation-name:apxt-flicker;animation-timing-function:linear}
.apxt-fx-pulse{animation-name:apxt-pulse}
.apxt-fx-border{animation-name:apxt-border;outline:2px solid transparent;outline-offset:-2px}
.apxt-fx-shimmer{animation:none;position:relative;overflow:hidden}
.apxt-fx-shimmer::after{content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-20deg);animation:apxt-shine var(--fx-s,2.5s) ease-in-out infinite;animation-delay:var(--fx-delay,0s);pointer-events:none}
.apxt-pause:hover,.apxt-pause:hover::after{animation-play-state:paused}
@keyframes apxt-blink{0%,100%{opacity:1}50%{opacity:var(--fx-min,.5)}}
@keyframes apxt-glow{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 calc(var(--fx-i,16)*1px) calc(var(--fx-i,16)*.25px) var(--fx-c,#f08a24)}}
@keyframes apxt-flicker{0%,19%,21%,23%,25%,54%,56%,100%{box-shadow:0 0 calc(var(--fx-i,16)*1px) calc(var(--fx-i,16)*.3px) var(--fx-c,#f08a24),inset 0 0 calc(var(--fx-i,16)*.5px) var(--fx-c,#f08a24)}20%,24%,55%{box-shadow:0 0 0 0 transparent}}
@keyframes apxt-pulse{0%,100%{transform:scale(1)}50%{transform:scale(calc(1 + var(--fx-i,16)/400))}}
@keyframes apxt-border{0%,100%{outline-color:transparent}50%{outline-color:var(--fx-c,#f08a24)}}
@keyframes apxt-shine{0%{left:-70%}60%,100%{left:130%}}
@media (prefers-reduced-motion:reduce){.apxt-rm .apxt-fx,.apxt-rm .apxt-fx::after{animation:none!important}}
/* ===== search + favourites on one row ===== */
.apxt-tb{display:grid!important;grid-template-columns:var(--tb-cols,minmax(0,1fr) auto);align-items:center;gap:max(var(--tb-gap,8px),6px)!important;background:var(--tb-bg,#fff)!important;width:calc(var(--tb-w,100%) - 2 * var(--tb-mx,12px));max-width:100%;margin:var(--tb-mt,12px) auto var(--tb-mb,12px)!important;padding:max(var(--tb-pad,8px),6px)!important;border-radius:var(--tb-r,20px);border:var(--tb-bw,0) solid var(--tb-bd,#e5e7eb);box-shadow:var(--tb-sh,none);direction:rtl;box-sizing:border-box}
.apxt-tb-s{order:var(--tb-ord-s,1)}.apxt-tb-f{order:var(--tb-ord-f,2)}
.apxt-tb>.apxt-tb-s{flex:1 1 0!important;min-width:0}
.apxt-tb>.apxt-tb-f{flex:0 0 auto!important;display:flex!important;align-items:center;min-width:0}
/* neutralise old boxes around both items */
.apxt-tb .apxt-tb-wrap{margin:0!important;padding:0!important;background:none!important;box-shadow:none!important;border:0!important;width:auto!important;max-width:none!important;min-height:0!important;height:auto!important;border-radius:0!important;transform:none!important}
.apxt-tb>.apxt-tb-s.apxt-tb-wrap{width:auto!important;flex:1 1 0!important}
/* search field */
.apxt-tb .apxt-tb-field{display:flex!important;align-items:center;flex-direction:row;width:100%!important;max-width:none!important;margin:0!important;height:var(--tb-sh2,48px)!important;min-height:0!important;padding:0 14px!important;background:var(--tb-sbg,#eef0f4)!important;border:var(--tb-sbw,0) solid var(--tb-sbd,#d1d5db)!important;border-radius:var(--tb-sr,14px)!important;box-shadow:none!important;box-sizing:border-box;position:relative;gap:8px}
.apxt-tb .apxt-tb-in{flex:1 1 auto;min-width:0;width:100%!important;height:100%!important;margin:0!important;padding:0 4px 0 38px!important;background:none!important;border:0!important;box-shadow:none!important;outline:0!important;display:block!important;color:var(--tb-stx,#1f2937)!important;font-size:var(--tb-sfs,15px)!important;line-height:1.2;text-overflow:ellipsis;border-radius:0!important;order:1}
.apxt-tb .apxt-tb-in::placeholder{color:var(--tb-sph,#6b7280)!important;opacity:1;font-size:var(--tb-sfs,15px)}
.apxt-tb .apxt-tb-sic{position:absolute!important;left:14px!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;width:auto;height:auto;min-width:0;float:none!important;margin:0!important;padding:0!important;z-index:2;pointer-events:auto;color:var(--tb-sic,#111827)!important;display:flex;align-items:center;background:none!important;border:0!important}
.apxt-tb .apxt-tb-sic svg,.apxt-tb svg.apxt-tb-sic,.apxt-tb img.apxt-tb-sic{color:var(--tb-sic,#111827)!important;fill:currentColor;width:20px;height:20px}
/* favourites pill */
.apxt-tb .apxt-tb-pill{display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:8px;width:var(--tb-fw,auto)!important;height:var(--tb-fh,48px)!important;min-height:0!important;margin:0!important;padding:0 var(--tb-fpad,12px)!important;background:var(--tb-fbg,#f3f4f6)!important;border:0!important;border-radius:var(--tb-fr,14px)!important;box-shadow:none!important;box-sizing:border-box;white-space:nowrap;transition:background .2s;color:var(--tb-ftx,#1f2937)}
.apxt-tb-f.apxt-on .apxt-tb-pill{background:var(--tb-fon,#fdebd3)!important}
.apxt-tb .apxt-tb-pill>*{margin:0!important}
.apxt-tb .apxt-tb-pill>*:not(.apxt-tb-sw):not(.apxt-tb-star){position:static!important;transform:none!important}
.apxt-tb .apxt-tb-lab{order:2;font-size:var(--tb-ffs,14px)!important;font-weight:var(--tb-ffw,700)!important;line-height:1.2;margin:0!important;white-space:nowrap;color:var(--tb-ftx,#1f2937)!important}
.apxt-tb .apxt-tb-star{order:1;color:var(--tb-fstar,#f59e0b)!important;fill:var(--tb-fstar,#f59e0b)!important;font-size:calc(var(--tb-ffs,14px) + 4px);line-height:1;display:inline-flex;align-items:center}
.apxt-tb .apxt-tb-star svg{fill:var(--tb-fstar,#f59e0b)!important;color:var(--tb-fstar,#f59e0b)!important;width:1em;height:1em}
.apxt-tb .apxt-tb-sw{order:3;background-color:var(--tb-fsw,#d1d5db)!important;transition:background-color .2s}
.apxt-tb-f.apxt-on .apxt-tb-sw{background-color:var(--tb-fswon,#f08a24)!important}
.apxt-tb input[type=checkbox]{accent-color:var(--tb-fswon,#f08a24)}
@media(max-width:360px){.apxt-tb{padding:6px;gap:6px}.apxt-tb .apxt-tb-field{padding:0 10px!important}.apxt-tb .apxt-tb-pill{padding:0 8px!important;gap:5px}}
.apxt-tb svg.apxt-tb-sic,.apxt-tb img.apxt-tb-sic{width:20px!important;height:20px!important}
.apxt-tb>.apxt-tb-f{margin-inline-start:0!important}
.apxt-tb .apxt-tb-pill{border:1px solid var(--tb-fbd,transparent)!important}

/* grid layout: no overlap whatever the old markup does */
.apxt-tb>.apxt-tb-s{grid-column:var(--tb-cs,1);grid-row:1;width:auto!important;min-width:0!important;flex:none!important;position:relative}
.apxt-tb>.apxt-tb-f{grid-column:var(--tb-cf,2);grid-row:1;width:auto!important;min-width:0;flex:none!important;position:relative;justify-self:stretch}
.apxt-tb .apxt-tb-field{position:relative!important}
.apxt-tb .apxt-tb-pill{max-width:100%}

/* fit inside viewport: padding must not add to width */
.apxt-tb{box-sizing:border-box!important;width:auto!important;max-width:calc(100vw - 2 * var(--tb-mx,12px))!important;margin-left:var(--tb-mx,12px)!important;margin-right:var(--tb-mx,12px)!important;overflow:hidden}
.apxt-tb *{box-sizing:border-box}
.apxt-tb .apxt-tb-field,.apxt-tb .apxt-tb-in{min-width:0!important;max-width:100%!important}

/* 1.4.6: the search cell must never be wider/shifted than its grid column */
.apxt-tb>.apxt-tb-s{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;left:auto!important;right:auto!important;transform:none!important;float:none!important;inset-inline:auto!important;overflow:visible!important;box-sizing:border-box!important}
.apxt-tb>.apxt-tb-s>*{max-width:100%!important;min-width:0!important}
.apxt-tb>.apxt-tb-s>*:not(.apxt-tb-field){margin-left:0!important;margin-right:0!important;left:auto!important;right:auto!important}
.apxt-tb .apxt-tb-field{width:100%!important;direction:rtl}
.apxt-tb .apxt-tb-in{padding:0 4px 0 38px!important}
.apxt-tb{overflow:visible!important}

/* 1.4.7: Elementor flex containers (e-con) wrapping search/fav */
.apxt-tb>.e-con,.apxt-tb>.elementor-element{--width:100%!important;--content-width:100%!important;--margin-top:0px!important;--margin-bottom:0px!important;--margin-left:0px!important;--margin-right:0px!important;--margin-block-start:0px!important;--margin-block-end:0px!important;--margin-inline-start:0px!important;--margin-inline-end:0px!important;--padding-top:0px!important;--padding-bottom:0px!important;--padding-left:0px!important;--padding-right:0px!important;--padding-block-start:0px!important;--padding-block-end:0px!important;--padding-inline-start:0px!important;--padding-inline-end:0px!important;--gap:0px!important;--min-height:0px!important;width:100%!important;max-width:100%!important;min-height:0!important;margin:0!important;padding:0!important;position:relative!important;inset:auto!important;transform:none!important}
.apxt-tb>.e-con>.e-con-inner{max-width:100%!important;width:100%!important;padding:0!important;margin:0!important;--content-width:100%!important}
.apxt-tb>.e-con .elementor-widget,.apxt-tb>.e-con .elementor-widget-container,.apxt-tb>.e-con .dgwt-wcas-search-wrapp,.apxt-tb>.e-con .dgwt-wcas-search-form{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
/* ---- شريط البحث والمفضلة داخل التصنيفات ---- */
.apxt-tb .apxt-tb-pill{cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.apxt-tb .apxt-tb-sw.apxc-sw{display:inline-block;position:relative;width:42px;height:24px;border-radius:99px;flex:none}
.apxc-sw i{position:absolute;top:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:inset-inline-start .2s}
.apxt-on .apxc-sw i{inset-inline-start:21px}
.apxc-msg{margin:12px;padding:18px;text-align:center;color:#6b7280;background:#fff;border-radius:16px;font-weight:600}
.apxc-heart{all:unset;position:absolute;top:6px;inset-inline-end:6px;z-index:5;width:var(--ct-hs,26px);height:var(--ct-hs,26px);border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.apxc-heart svg{width:var(--ct-hi,15px);height:var(--ct-hi,15px);fill:none;stroke:var(--ct-heart,#ef4444);stroke-width:2;stroke-linejoin:round}
.apxc-heart.on svg{fill:var(--ct-heart,#ef4444)}
.apxc-wl-empty{margin:12px;padding:18px;text-align:center;color:#6b7280;background:#fff;border-radius:16px;font-weight:600}.apxc-wl{padding:0 0 12px}
