/* Saatmall Smart Finder — frontend (RTL, prk-font) */
:root{
  --sf-font:'prk-font','IRANSansX','IRANSans','IRANYekan',Tahoma,sans-serif;
  --sf-fs:14px;
  --sf-fab-size:62px;
  --sf-panel-w:400px;
  --sf-panel-h:640px;
  --sf-primary:#1d1a3f;
  --sf-accent:#7c5cff;
  --sf-accent-2:#ff5c8a;
  --sf-grad:linear-gradient(135deg,#6d4dff 0%,#9b5cff 55%,#ff5c8a 100%);
  --sf-bg:#ffffff;
  --sf-surface:#f5f5fb;
  --sf-text:#1e1e2a;
  --sf-muted:#7a7a8c;
  --sf-border:#e8e8f0;
  --sf-radius:22px;
  --sf-shadow:0 18px 50px rgba(30,20,80,.22);
  --sf-offset-desktop:120px;
  --sf-offset-mobile:140px;
  --sf-side-right:22px;
  --sf-side-left:auto;
  --sf-z:2147483000; /* above the theme's fixed header + mobile nav (999999) */
}
.sf-root,.sf-root *{box-sizing:border-box;font-family:var(--sf-font)!important}
.sf-root{font-size:var(--sf-fs)}
.sf-root{direction:rtl;position:relative;z-index:var(--sf-z)}
.sf-root .noselect{user-select:none;-webkit-user-select:none}

/* ---------- Floating AI button ---------- */
.sf-fab{
  position:fixed;
  right:var(--sf-side-right);left:var(--sf-side-left);
  bottom:var(--sf-offset-desktop);
  z-index:var(--sf-z);
  height:var(--sf-fab-size);min-width:var(--sf-fab-size);padding:0;
  border:0;border-radius:999px;cursor:pointer;
  background:var(--sf-grad);color:#fff;
  display:flex;align-items:center;justify-content:flex-start;gap:0;
  box-shadow:0 10px 26px rgba(124,92,255,.42),0 2px 6px rgba(0,0,0,.12);
  transition:box-shadow .35s ease,transform .35s cubic-bezier(.19,1,.22,1),padding .35s ease;
  overflow:visible;
  -webkit-tap-highlight-color:transparent;
}
.sf-fab:focus-visible{outline:3px solid #ffd166;outline-offset:3px}
.sf-fab__ring{
  position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:0 0 0 0 rgba(124,92,255,.55);
  animation:sf-pulse 2.4s ease-out infinite;
}
@keyframes sf-pulse{0%{box-shadow:0 0 0 0 rgba(124,92,255,.55)}70%{box-shadow:0 0 0 18px rgba(124,92,255,0)}100%{box-shadow:0 0 0 0 rgba(124,92,255,0)}}
.sf-fab__icon{
  width:var(--sf-fab-size);height:var(--sf-fab-size);flex:0 0 var(--sf-fab-size);display:flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.25));
}
.sf-fab__icon svg{transition:transform .5s cubic-bezier(.19,1,.22,1)}
.sf-fab:hover .sf-fab__icon svg,.sf-fab:focus-visible .sf-fab__icon svg{transform:rotate(18deg) scale(1.12)}
.sf-fab__label{
  max-width:0;opacity:0;white-space:nowrap;overflow:hidden;
  font-size:14px;font-weight:700;letter-spacing:-.1px;
  padding-inline-end:0;
  transition:max-width .45s cubic-bezier(.19,1,.22,1),opacity .3s ease,padding .45s ease;
}
.sf-fab:hover,.sf-fab:focus-visible,.sf-fab.is-labeled{box-shadow:0 14px 34px rgba(124,92,255,.5),0 3px 8px rgba(0,0,0,.14)}
.sf-fab:hover .sf-fab__label,.sf-fab:focus-visible .sf-fab__label,.sf-fab.is-labeled .sf-fab__label{max-width:260px;opacity:1;padding-inline-end:22px}
.sf-fab.is-labeled{animation:sf-nudge .6s ease}
@keyframes sf-nudge{0%{transform:translateY(0)}30%{transform:translateY(-6px)}60%{transform:translateY(0)}80%{transform:translateY(-3px)}100%{transform:translateY(0)}}
.sf-fab.is-open{transform:scale(.9);opacity:0;pointer-events:none}
.sf-fab.is-open .sf-fab__ring{animation:none}
@media (prefers-reduced-motion:reduce){.sf-fab__ring{animation:none}.sf-fab,.sf-fab *{transition:none!important}}

/* ---------- Panel ---------- */
.sf-panel{
  position:fixed;
  right:var(--sf-side-right);left:var(--sf-side-left);
  bottom:calc(var(--sf-offset-desktop) - 60px);
  width:min(var(--sf-panel-w),calc(100vw - 32px));
  height:min(var(--sf-panel-h),calc(100vh - 110px));
  background:var(--sf-bg);border-radius:var(--sf-radius);
  box-shadow:0 24px 60px rgba(30,20,80,.28),0 0 0 1px rgba(255,255,255,.6) inset;border:0;
  display:flex;flex-direction:column;overflow:hidden;
  z-index:calc(var(--sf-z) + 1);
  transform-origin:bottom right;
  animation:sf-in .28s cubic-bezier(.19,1,.22,1);
  color:var(--sf-text);
}
.sf-side-left .sf-panel{transform-origin:bottom left}
@keyframes sf-in{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
.sf-panel[hidden]{display:none}

.sf-head{
  position:relative;display:flex;align-items:center;gap:12px;padding:16px 18px;
  background:var(--sf-grad);color:#fff;flex:0 0 auto;overflow:hidden;
  border-radius:var(--sf-radius) var(--sf-radius) 0 0;
}
.sf-head::before{content:'';position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),rgba(255,255,255,0) 70%);top:-120px;right:-60px;pointer-events:none}
.sf-head::after{content:'';position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,0) 70%);bottom:-100px;left:-40px;pointer-events:none}
.sf-head>*{position:relative;z-index:1}
.sf-head__avatar{
  width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.22);box-shadow:0 4px 14px rgba(0,0,0,.12) inset,0 1px 0 rgba(255,255,255,.35);
  display:flex;align-items:center;justify-content:center;flex:0 0 42px;
  backdrop-filter:blur(6px);
}
.sf-head__text{flex:1;min-width:0}
.sf-head__title{font-size:calc(var(--sf-fs) + 1px);font-weight:800;margin:0;line-height:1.4;color:#fff}
.sf-head__sub{font-size:calc(var(--sf-fs) - 2px);opacity:.92;color:#fff;margin:2px 0 0;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sf-head__btn{
  width:36px;height:36px;border:0;border-radius:12px;background:rgba(255,255,255,.16);color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 36px;
  transition:background .2s;
}
.sf-head__btn:hover{background:rgba(255,255,255,.3)}
.sf-head__btn:focus-visible{outline:2px solid #fff;outline-offset:2px}

.sf-body{flex:1 1 auto;overflow-y:auto;padding:16px 14px 8px;min-height:0;background:var(--sf-surface);scroll-behavior:smooth;overscroll-behavior:contain}
.sf-msg{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;max-width:100%}
.sf-msg__bubble{
  padding:10px 14px;border-radius:16px;font-size:var(--sf-fs);line-height:1.9;
  max-width:88%;word-break:break-word;white-space:pre-wrap;
}
.sf-msg--user{align-items:flex-start}
.sf-msg--user .sf-msg__bubble{background:var(--sf-primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-start}
.sf-msg--bot{align-items:flex-end}
.sf-msg--bot .sf-msg__bubble{background:#fff;border:1px solid var(--sf-border);border-bottom-left-radius:4px;align-self:flex-end;color:var(--sf-text)}
.sf-msg--error .sf-msg__bubble{background:#fff4f4;border-color:#ffd2d2;color:#a12020}

.sf-typing{display:inline-flex;gap:5px;align-items:center;padding:12px 16px}
.sf-typing i{width:7px;height:7px;border-radius:50%;background:var(--sf-accent);opacity:.35;animation:sf-blink 1.2s infinite}
.sf-typing i:nth-child(2){animation-delay:.2s}.sf-typing i:nth-child(3){animation-delay:.4s}
@keyframes sf-blink{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

.sf-chips{display:flex;flex-wrap:wrap;gap:6px;max-width:92%;align-self:flex-end}
.sf-chip{font-size:calc(var(--sf-fs) - 2.5px);background:color-mix(in srgb,var(--sf-accent) 12%,#fff);color:var(--sf-accent);border-radius:999px;padding:3px 10px;line-height:1.7}
.sf-chip b{font-weight:800}

.sf-suggest{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 14px;justify-content:flex-end}
.sf-suggest button{
  border:1px solid color-mix(in srgb,var(--sf-accent) 30%,#fff);background:#fff;color:var(--sf-accent);border-radius:999px;padding:7px 12px;
  font-size:calc(var(--sf-fs) - 1.5px);cursor:pointer;line-height:1.6;transition:background .2s,transform .2s;font-family:inherit;
}
.sf-suggest button:hover{background:color-mix(in srgb,var(--sf-accent) 10%,#fff);transform:translateY(-1px)}

.sf-products{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 6px;width:100%;
}
.sf-product{
  display:flex!important;flex-direction:column;background:#fff;border:1px solid var(--sf-border);border-radius:14px;
  overflow:hidden;text-decoration:none!important;color:inherit;transition:transform .25s,box-shadow .25s;position:relative;min-width:0;
  box-shadow:none;
}
.sf-product:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(30,20,80,.14)}
.sf-product:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}
/* Square thumbnail box: the wrapper owns the geometry so theme img rules cannot stretch it. */
.sf-product__thumb{
  position:relative;width:100%;padding-top:100%;background:#fff;overflow:hidden;display:block;
  border-bottom:1px solid #f0f0f5;
}
.sf-product__thumb img,.sf-root .sf-product__thumb img{
  position:absolute!important;inset:0!important;top:0!important;left:0!important;
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;padding:6px;margin:0!important;
  display:block!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  transition:transform .35s ease;
}
.sf-product:hover .sf-product__thumb img{transform:scale(1.05)}
.sf-product__name{font-size:calc(var(--sf-fs) - 3px);line-height:1.6;padding:7px 8px 0;height:44px;overflow:hidden;color:var(--sf-text);font-weight:600;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-align:right}
.sf-product__price{font-size:calc(var(--sf-fs) - 2.5px);font-weight:800;color:var(--sf-primary);padding:4px 8px 9px;line-height:1.5;text-align:right;direction:rtl}
.sf-product__regular{display:block;font-size:calc(var(--sf-fs) - 4px);color:var(--sf-muted);text-decoration:line-through;font-weight:500}
.sf-product__badge{position:absolute;top:8px;left:8px;z-index:2;background:var(--sf-accent-2);color:#fff;font-size:9.5px;border-radius:6px;padding:1px 6px;font-weight:700}

.sf-more{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  background:var(--sf-grad);color:#fff;border:0;border-radius:12px;padding:11px 14px;
  font-size:calc(var(--sf-fs) - .5px);font-weight:800;cursor:pointer;text-decoration:none!important;margin:2px 0 8px;
  box-shadow:0 8px 20px rgba(124,92,255,.32);transition:transform .2s,box-shadow .2s;font-family:inherit;
}
.sf-more:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(124,92,255,.42);color:#fff}
.sf-more:focus-visible{outline:3px solid #ffd166;outline-offset:2px}

.sf-foot{flex:0 0 auto;padding:10px 12px 12px;background:#fff;border-top:1px solid var(--sf-border)}
.sf-form{display:flex;align-items:flex-end;gap:8px}
.sf-input{
  flex:1;resize:none;border:1.5px solid var(--sf-border);border-radius:14px;padding:10px 12px;
  font-size:var(--sf-fs);line-height:1.7;min-height:44px;max-height:120px;background:var(--sf-surface);color:var(--sf-text);
  font-family:inherit;transition:border-color .2s,box-shadow .2s;
}
.sf-input:focus{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 4px rgba(124,92,255,.12);background:#fff}
.sf-send{
  width:44px;height:44px;border:0;border-radius:14px;background:var(--sf-grad);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex:0 0 44px;transition:transform .2s,opacity .2s;
}
.sf-send:hover{transform:translateY(-1px)}
.sf-send:disabled{opacity:.5;cursor:not-allowed;transform:none}
.sf-send:focus-visible{outline:3px solid #ffd166;outline-offset:2px}
.sf-send svg{transform:scaleX(-1)}
.sf-hint{display:flex;justify-content:space-between;align-items:center;font-size:calc(var(--sf-fs) - 3px);color:var(--sf-muted);margin-top:6px;padding:0 4px}
.sf-hint button{background:none;border:0;color:var(--sf-accent);cursor:pointer;font-size:calc(var(--sf-fs) - 3px);font-family:inherit;padding:0;display:inline-flex;align-items:center;gap:4px}
.sf-restored{font-size:calc(var(--sf-fs) - 3px);color:var(--sf-muted);text-align:center;margin:0 0 10px}
.sf-hint button:hover{text-decoration:underline}

/* Category-page banner (opens the finder) */
.sf-banner{display:block;width:100%;margin:0 auto 14px;border-radius:18px;overflow:hidden;line-height:0;
  transition:transform .3s cubic-bezier(.19,1,.22,1),box-shadow .3s;box-shadow:0 6px 18px rgba(30,20,80,.08);cursor:pointer}
.sf-banner:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(124,92,255,.22)}
.sf-banner:focus-visible{outline:3px solid #7c5cff;outline-offset:3px}
.sf-banner picture,.sf-banner img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;margin:0!important;border:0!important;border-radius:18px}
@media (max-width:767px){.sf-banner{border-radius:16px;margin-bottom:12px}.sf-banner img{border-radius:16px}}

/* Archive summary bar (finder=1 pages) */
.sf-archive-bar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:10px 14px;border-radius:12px;
  background:linear-gradient(135deg,#f3efff,#fff0f5);border:1px solid #e6dcff;font-size:13px;color:#3b2e8c;
  font-family:var(--sf-font);
}
.sf-archive-bar__icon{color:#7c5cff;font-size:16px}
.sf-archive-bar__clear{margin-inline-start:auto;color:#ff3d6e;font-weight:700;text-decoration:none;font-size:12.5px}
.sf-archive-bar__clear:hover{text-decoration:underline}

/* ---------- Mobile ---------- */
@media (max-width:767px){
  .sf-fab{height:calc(var(--sf-fab-size) - 8px);min-width:calc(var(--sf-fab-size) - 8px);bottom:var(--sf-offset-mobile)}
  .sf-fab__icon{width:calc(var(--sf-fab-size) - 8px);height:calc(var(--sf-fab-size) - 8px);flex-basis:calc(var(--sf-fab-size) - 8px)}
  .sf-fab__icon svg{width:26px;height:26px}
  .sf-fab__label{font-size:13px}
  .sf-panel{
    right:0;left:0;bottom:0;width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0;
    transform-origin:bottom center;
  }
  .sf-head{padding:12px 14px;padding-top:calc(12px + env(safe-area-inset-top));border-radius:0}
  .sf-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .sf-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .sf-product__name{font-size:calc(var(--sf-fs) - 3.5px);height:40px;padding:6px 5px 0}
  .sf-product__price{font-size:calc(var(--sf-fs) - 3px);padding:3px 5px 8px}
  .sf-product__thumb img{padding:4px}
  .sf-msg__bubble{max-width:92%}
}
@media (max-width:767px){body.sf-lock{overflow:hidden!important;position:fixed;width:100%}}
