/*
 * SANAT GAM theme on top of Tabler 1.0 (RTL). Light palette.
 * Identity: white and pale sky grounds, sky-blue machine paint (RAL 5015) for the interface, bright safety
 * yellow only for the main call to action and brand marks, dark slate text, Vazirmatn throughout.
 * No inline styles anywhere (strict CSP); motion stops for prefers-reduced-motion.
 */
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn-ExtraBold.woff2") format("woff2");font-weight:800;font-display:swap}

:root,[data-bs-theme=light]{
  --sg-signal:#f6b500;          /* bright safety yellow */
  --sg-signal-soft:#ffe28a;
  --sg-signal-ink:#2a2000;
  --sg-ink:#1e2a36;             /* text on light grounds */
  --sg-ground:#f5f8fb;          /* page ground */
  --sg-sky:#eaf3fb;             /* soft sky band */
  --sg-line:#e1e8ef;
  --tblr-font-sans-serif:"Vazirmatn",Tahoma,"Segoe UI",sans-serif;
  --tblr-body-font-size:.9375rem;
  --tblr-body-line-height:1.75;
  --tblr-body-color:#1e2a36;
  --tblr-primary:#2271b3;       /* RAL 5015 sky blue */
  --tblr-primary-rgb:34,113,179;
  --tblr-primary-darken:#1b5f97;
  --tblr-primary-lt:#e8f1fa;
  --tblr-primary-lt-rgb:232,241,250;
  --tblr-primary-text-emphasis:#164a76;
  --tblr-primary-bg-subtle:#d3e5f4;
  --tblr-primary-border-subtle:#a7cbe9;
  --tblr-link-color:#2271b3;
  --tblr-link-color-rgb:34,113,179;
  --tblr-link-hover-color:#164a76;
  --tblr-body-bg:#f5f8fb;
  --tblr-body-bg-rgb:245,248,251;
}
[data-bs-theme=dark]{
  --sg-ink:#e6ecf1;
  --sg-ground:#141b21;
  --sg-sky:#18242f;
  --sg-line:#2a3640;
  --tblr-body-color:#e6ecf1;
  --tblr-primary:#5aa0dc;
  --tblr-primary-rgb:90,160,220;
  --tblr-primary-darken:#4a8cc6;
  --tblr-primary-lt:#18293a;
  --tblr-primary-lt-rgb:24,41,58;
  --tblr-primary-text-emphasis:#a9cdee;
  --tblr-link-color:#8cc0ec;
  --tblr-link-color-rgb:140,192,236;
  --tblr-link-hover-color:#b8d8f3;
  --tblr-body-bg:#141b21;
  --tblr-body-bg-rgb:20,27,33;
}
body{font-feature-settings:"ss01";-webkit-font-smoothing:antialiased}
.ltr,input.ltr,td.ltr{direction:ltr;text-align:left;unicode-bidi:plaintext}
/* addresses, codes and IPs keep the digits they are typed with (body ss01 shows Persian digits) */
.ltr,.ltrtext{font-feature-settings:normal}
.ltrtext{direction:ltr;text-align:left;unicode-bidi:plaintext}
.tabular{font-variant-numeric:tabular-nums}
:focus-visible{outline:3px solid var(--sg-ink);outline-offset:2px;box-shadow:0 0 0 6px rgba(246,181,0,.55)}
/* Secondary text dark enough to read (4.5:1 or better on white, page ground and sky). */
:root,[data-bs-theme=light]{--tblr-secondary:#5b677a;--tblr-secondary-rgb:91,103,122}
/* «پرش به محتوا»: the first stop for keyboard users, out of sight until focused. */
.sg-skip{position:absolute;top:-3rem;inset-inline-start:1rem;z-index:2000;padding:.5rem 1rem;border-radius:8px;background:var(--sg-ink);color:#fff;text-decoration:none}
.sg-skip:focus{top:1rem;color:#fff}

/* ----- brand ----- */
.navbar.sg-top{background:var(--tblr-bg-surface);border-bottom:1px solid var(--sg-line)}
.sg-hazard{height:4px;background:repeating-linear-gradient(-45deg,var(--sg-signal) 0 14px,var(--sg-signal-soft) 14px 28px)}
.sg-brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.05rem;white-space:nowrap;color:var(--sg-ink);text-decoration:none}
.sg-brand:hover{color:var(--sg-ink);text-decoration:none}
.sg-brand-mark{width:1.75rem;height:1.75rem;border-radius:7px;background:var(--sg-signal);display:grid;place-items:center;color:var(--sg-signal-ink)}
.sg-brand-mark .icon{width:1.1rem;height:1.1rem;stroke-width:2.2}
.btn-signal{--tblr-btn-bg:var(--sg-signal);--tblr-btn-color:var(--sg-signal-ink);--tblr-btn-border-color:var(--sg-signal);
  --tblr-btn-hover-bg:#e6a800;--tblr-btn-hover-color:var(--sg-signal-ink);--tblr-btn-hover-border-color:#e6a800;
  --tblr-btn-active-bg:#d39b00;--tblr-btn-active-color:var(--sg-signal-ink);font-weight:700}
.navbar-vertical.sg-side{background:var(--tblr-bg-surface);border-inline-end:1px solid var(--sg-line)}
.navbar-vertical.sg-side .nav-link{color:var(--sg-ink)}
.navbar-vertical.sg-side .nav-link.active{background:var(--tblr-primary-lt);color:var(--tblr-primary);box-shadow:inset -3px 0 0 var(--sg-signal)}

/* ----- auth pages: a card under a thin yellow band ----- */
.sg-auth-card{border-top:0;overflow:hidden}
.sg-auth-card::before{content:"";display:block;height:4px;background:repeating-linear-gradient(-45deg,var(--sg-signal) 0 14px,var(--sg-signal-soft) 14px 28px)}
.sg-code-input{letter-spacing:.5em;font-size:1.35rem;text-align:center;font-variant-numeric:tabular-nums}

/* ----- landing page: photo-led, light ----- */
.sg-land-nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--sg-line);padding-block:.7rem}
[data-bs-theme=dark] .sg-land-nav{background:rgba(20,27,33,.92)}
.sg-land-nav .nav-link{color:var(--sg-ink);font-weight:500}
.sg-land-nav .nav-link:hover{color:var(--tblr-primary)}
.sg-hero-photo{position:relative;min-height:min(80vh,700px);display:flex;align-items:center;color:var(--sg-ink);overflow:hidden;background:var(--sg-sky)}
.sg-hero-photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.sg-hero-photo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(270deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 36%,rgba(255,255,255,.35) 66%,rgba(255,255,255,0) 100%)}
[data-bs-theme=dark] .sg-hero-photo::after{background:linear-gradient(270deg,rgba(20,27,33,.96) 0%,rgba(20,27,33,.86) 38%,rgba(20,27,33,.3) 70%,rgba(20,27,33,0) 100%)}
.sg-hero-photo .container-xl{position:relative;z-index:2;padding-block:4.5rem}
.sg-hero-photo h1{font-size:clamp(2rem,4.6vw,3.5rem);font-weight:800;line-height:1.4;margin:0;max-width:16ch;text-wrap:balance;color:var(--sg-ink)}
.sg-hero-photo .lead{color:#4a5a69;font-size:1.15rem;max-width:36rem;margin-top:1rem}
[data-bs-theme=dark] .sg-hero-photo .lead{color:#b7c4cf}
.sg-search{background:var(--tblr-bg-surface);color:var(--sg-ink);border:1px solid var(--sg-line);border-radius:14px;padding:.55rem;box-shadow:0 14px 34px rgba(34,113,179,.16);max-width:760px}
.sg-search .form-control,.sg-search .form-select{border:0;background-color:transparent;font-size:1rem;height:3rem}
.sg-search .sg-search-field + .sg-search-field{border-inline-start:1px solid var(--sg-line)}
.sg-search .btn{height:3rem;padding-inline:1.6rem;font-size:1rem}
.sg-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.sg-chips a{color:var(--sg-ink);border:1px solid var(--sg-line);border-radius:999px;padding:.25rem .85rem;font-size:.85rem;text-decoration:none;background:var(--tblr-bg-surface)}
.sg-chips a:hover{border-color:var(--tblr-primary);color:var(--tblr-primary)}
.sg-trust-strip{background:var(--sg-sky);color:var(--sg-ink);border-block:1px solid var(--sg-line)}
.sg-trust-strip .icon{color:var(--tblr-primary);width:1.4rem;height:1.4rem}
.sg-section{padding-block:4rem}
.sg-section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap}
.sg-section-head h2{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800;margin:0}
.sg-section-head p{color:var(--tblr-secondary);margin:.35rem 0 0;max-width:40rem}
.sg-tile{display:block;border-radius:14px;overflow:hidden;color:var(--sg-ink);text-decoration:none;background:var(--tblr-bg-surface);border:1px solid var(--sg-line);height:100%}
.sg-tile-photo{aspect-ratio:4/3;overflow:hidden;background:var(--sg-sky)}
.sg-tile img{width:100%;height:100%;object-fit:cover;display:block}
.sg-tile-body{padding:.85rem 1rem}
.sg-tile-body h3{font-size:1.05rem;margin:0 0 .15rem;color:var(--sg-ink)}
.sg-tile-body span{color:var(--tblr-secondary);font-size:.82rem}
.sg-tile:hover{color:var(--sg-ink);border-color:var(--tblr-primary-border-subtle)}
.sg-listing{border-radius:14px;overflow:hidden;height:100%;display:flex;flex-direction:column;border-color:var(--sg-line)}
.sg-listing-photo{position:relative;aspect-ratio:4/3;background:var(--sg-sky);overflow:hidden}
.sg-listing-photo img{width:100%;height:100%;object-fit:cover;display:block}
.sg-listing-photo .badge{position:absolute;top:.75rem}
.sg-listing-photo .sg-badge-start{inset-inline-start:.75rem}
.sg-listing-photo .sg-badge-end{inset-inline-end:.75rem}
.sg-listing-photo .sg-badge-bottom{top:auto;bottom:.75rem;inset-inline-start:.75rem}
.sg-listing .card-body{display:flex;flex-direction:column;gap:.6rem}
.sg-listing h3{font-size:1.02rem;margin:0;line-height:1.6}
.sg-spec-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.sg-spec-chips span{background:var(--sg-sky);border-radius:6px;padding:.05rem .5rem;font-size:.78rem;color:#3d5266}
[data-bs-theme=dark] .sg-spec-chips span{color:#b7c4cf}
.sg-price{font-weight:800;font-size:1.15rem;color:var(--tblr-primary)}
.sg-sample-note{display:inline-flex;align-items:center;gap:.4rem;background:#fff6d6;color:#7a5600;border:1px solid var(--sg-signal-soft);border-radius:999px;padding:.2rem .8rem;font-size:.82rem}
[data-bs-theme=dark] .sg-sample-note{background:#2b2410;color:#f2c230;border-color:#4a3c10}
.sg-how{background:var(--tblr-bg-surface);border-block:1px solid var(--sg-line)}
.sg-steps{counter-reset:step;display:grid;gap:1rem}
.sg-step{display:grid;grid-template-columns:2.5rem 1fr;gap:.9rem;align-items:start}
.sg-step::before{counter-increment:step;content:counter(step,persian);width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;background:var(--sg-signal);color:var(--sg-signal-ink);font-weight:800}
.sg-step h4{margin:0 0 .15rem;font-size:1rem}
.sg-step p{margin:0;color:var(--tblr-secondary)}
.sg-band{position:relative;color:var(--sg-ink);overflow:hidden;background:var(--sg-sky)}
.sg-band > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sg-band::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(234,243,251,.98) 0%,rgba(234,243,251,.92) 42%,rgba(234,243,251,.35) 75%,rgba(234,243,251,.1) 100%)}
[data-bs-theme=dark] .sg-band::after{background:linear-gradient(270deg,rgba(20,27,33,.96) 0%,rgba(20,27,33,.86) 45%,rgba(20,27,33,.35) 100%)}
.sg-band .container-xl{position:relative;z-index:2;padding-block:5rem}
.sg-band h2{font-size:clamp(1.5rem,3vw,2.3rem);font-weight:800;line-height:1.45;color:var(--sg-ink);max-width:20ch}
.sg-band ul{list-style:none;padding:0;margin:1.25rem 0 1.75rem;display:grid;gap:.6rem;color:#3d5266}
[data-bs-theme=dark] .sg-band ul{color:#b7c4cf}
.sg-band li{display:flex;gap:.6rem;align-items:flex-start}
.sg-band li .icon{color:var(--tblr-primary);flex:none;margin-top:.3rem}
.sg-land-footer{background:var(--tblr-bg-surface);color:var(--tblr-secondary);border-top:1px solid var(--sg-line)}
.sg-land-footer a{color:var(--tblr-primary)}
@media (max-width:767.98px){
  /* on phones the text sits over the whole photo, so a fuller light veil keeps it readable */
  .sg-hero-photo::after{background:linear-gradient(0deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.88) 60%,rgba(255,255,255,.7) 100%)}
  [data-bs-theme=dark] .sg-hero-photo::after{background:rgba(20,27,33,.88)}
  .sg-band::after{background:rgba(234,243,251,.93)}
  [data-bs-theme=dark] .sg-band::after{background:rgba(20,27,33,.9)}
}
/* ----- traffic chart ----- */
.chart-wrap{overflow-x:auto}
svg.chart{width:100%;min-width:560px;height:auto;display:block}
svg.chart .bar{fill:var(--tblr-primary)}
svg.chart .bar-err{fill:var(--tblr-danger)}
svg.chart .grid{stroke:var(--tblr-border-color);stroke-width:1}
svg.chart .axis{fill:var(--tblr-secondary);font-size:10px;font-family:var(--tblr-font-sans-serif)}
svg.chart .bars rect{transform-box:fill-box;transform-origin:bottom}

/* ----- small pieces ----- */
pre.code{direction:ltr;text-align:left;overflow-x:auto;background:var(--tblr-bg-surface-secondary);border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);padding:.8rem;font-size:.8rem;line-height:1.6;margin:0}
.sg-qr{background:#fff;padding:10px;border-radius:8px;width:220px;max-width:100%}
.sg-avatar-img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.sg-empty-icon .icon{width:3rem;height:3rem;color:var(--tblr-secondary)}
dl.sg-facts{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1.2rem;margin:0}
dl.sg-facts dt{color:var(--tblr-secondary);font-weight:400}
dl.sg-facts dd{margin:0}
.sg-error-code{font-size:4.5rem;font-weight:800;line-height:1;color:var(--tblr-primary)}
/* free text the seller wrote: line breaks kept, long words wrapped, never HTML */
.sg-prose{white-space:pre-line;overflow-wrap:anywhere;line-height:1.95}

/* ----- seller page (/u/handle) and the seller box on a listing ----- */
.sg-seller-head{background:linear-gradient(180deg,var(--sg-sky),transparent);border-bottom:1px solid var(--sg-line);margin-bottom:1.5rem}
.sg-seller-mark{display:inline-grid;place-items:center;width:4rem;height:4rem;border-radius:14px;background:var(--tblr-primary);color:#fff;flex:none;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--sg-signal)}
.sg-seller-mark .icon{width:55%;height:55%;stroke-width:1.6}
.sg-seller-mark-sm{width:2.6rem;height:2.6rem;border-radius:10px;box-shadow:none}
.sg-seller-box{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border:1px solid var(--sg-line);border-radius:var(--tblr-border-radius-lg,8px);color:inherit;text-decoration:none;transition:border-color .2s,background-color .2s}
.sg-seller-box:hover{border-color:var(--tblr-primary);background:var(--tblr-primary-lt);text-decoration:none}
[data-bs-theme=dark] .sg-seller-head{background:none}
[data-bs-theme=dark] .sg-seller-mark{box-shadow:none}

/* ----- motion: one moment per page, all of it optional ----- */
@view-transition{navigation:auto}
@media (prefers-reduced-motion:no-preference){
  /* landing: the hero photo drifts in slowly once; tiles and listing photos answer the pointer */
  .sg-hero-photo > img{animation:sg-drift 14s cubic-bezier(.2,.6,.2,1) both}
  .sg-tile img,.sg-listing-photo img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
  .sg-tile:hover img,.sg-listing:hover .sg-listing-photo img{transform:scale(1.05)}
  .sg-tile,.sg-listing{transition:box-shadow .2s ease,border-color .2s ease}
  .sg-tile:hover,.sg-listing:hover{box-shadow:0 10px 26px rgba(34,113,179,.14)}
  /* traffic page: bars rise once */
  svg.chart .bars rect{animation:sg-rise .7s cubic-bezier(.2,.7,.2,1) both}
  /* small feedback */
  .btn{transition:transform .08s ease,background-color .15s ease}
  .btn:active{transform:translateY(1px)}
  .card-link-pop{transition:transform .15s ease,box-shadow .15s ease}
  .card-link-pop:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(24,34,43,.12)}
}
@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
}
@keyframes sg-drift{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes sg-rise{from{transform:scaleY(0)}to{transform:scaleY(1)}}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}

/* theme switch: show the moon in light mode and the sun in dark mode (theme lives on <html>) */
html[data-bs-theme=dark] .sg-when-light,html:not([data-bs-theme=dark]) .sg-when-dark{display:none!important}

/* ----- home: all categories (photo head, count, title, busiest subcategories, «more») ----- */
.sg-cat{border-radius:14px;overflow:hidden;border-color:var(--sg-line)}
.sg-cat-head{position:relative;display:block;aspect-ratio:2/1;overflow:hidden;color:var(--sg-ink);text-decoration:none;background:var(--sg-sky)}
.sg-cat-head img{width:100%;height:100%;object-fit:cover;display:block}
.sg-cat-title{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;padding:.55rem 1rem .6rem;background:rgba(255,255,255,.9);backdrop-filter:blur(3px)}
[data-bs-theme=dark] .sg-cat-title{background:rgba(24,33,41,.9)}
.sg-cat-title strong{color:var(--tblr-primary);font-size:1.1rem;font-weight:800}
.sg-cat-count{color:var(--tblr-secondary);font-size:.85rem}
.sg-cat-head:hover strong{text-decoration:underline}
.sg-cat .list-group-item{border-color:var(--sg-line)}
.sg-cat-more > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.4rem;color:var(--sg-ink)}
.sg-cat-more > summary::-webkit-details-marker{display:none}
.sg-cat-more[open] > summary{color:var(--tblr-secondary)}
.sg-cat-more[open] .sg-plus{transform:rotate(-90deg)}
@media (max-width:420px){
  /* small phones: keep the landing header on one line */
  .sg-land-nav .container-xl{gap:.5rem!important}
  .sg-land-nav .sg-brand{font-size:.95rem}
  .sg-land-nav .btn-signal{padding-inline:.6rem}
}

/* ----- posting: steps, my listings, photos ----- */
.sg-wizard{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem}
.sg-wizard-step{flex:1 0 auto;display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border:1px solid var(--sg-line);border-radius:10px;background:var(--tblr-bg-surface);color:var(--tblr-secondary);text-decoration:none;white-space:nowrap}
.sg-wizard-step:hover{text-decoration:none;border-color:var(--tblr-primary)}
.sg-wizard-n{display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--sg-sky);color:var(--sg-ink);font-weight:700;flex:none}
.sg-wizard-n .icon{width:1rem;height:1rem}
.sg-wizard-step.is-done .sg-wizard-n{background:#d6f0dd;color:#1f7a3a}
.sg-wizard-step.is-current{border-color:var(--tblr-primary);color:var(--tblr-body-color);font-weight:600;box-shadow:inset 0 -3px 0 var(--sg-signal)}
.sg-wizard-step.is-current .sg-wizard-n{background:var(--tblr-primary);color:#fff}
.sg-sticky-footer{position:sticky;bottom:0;background:var(--tblr-bg-surface);z-index:2}
.sg-pick-group{border:1px solid var(--sg-line);border-radius:10px;padding:.75rem;height:100%}
.sg-pick-group .form-selectgroup-label{justify-content:flex-start}
.sg-spec-fieldset{border:1px solid var(--sg-line);border-radius:10px;padding:1rem;background:var(--sg-ground)}
[data-bs-theme=dark] .sg-spec-fieldset{background:transparent}
.sg-my-thumb{display:grid;place-items:center;width:96px;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:var(--sg-sky);color:var(--tblr-secondary)}
.sg-my-thumb img{width:100%;height:100%;object-fit:cover}
.sg-status{color:#fff}
.sg-status-draft,.sg-status-archived{background:#8a99a8}
.sg-status-pending{background:#c98a00}
.sg-status-rejected,.sg-status-removed{background:#c0392b}
.sg-status-published{background:#2f9e44}
.sg-status-reserved{background:#1e2a36}
.sg-status-sold{background:#6741d9}
.sg-status-expired{background:#adb5bd;color:#1e2a36}
.sg-photo-tile{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--sg-line);background:var(--sg-sky);aspect-ratio:4/3}
.sg-photo-tile img{width:100%;height:100%;object-fit:cover;display:block}
.sg-photo-cover{position:absolute;top:.4rem;inset-inline-start:.4rem}
.sg-photo-card{border:1px solid var(--sg-line);border-radius:10px;overflow:hidden;background:var(--tblr-bg-surface)}
.sg-photo-card .sg-photo-tile{border:0;border-radius:0}
.sg-photo-tools{display:flex;gap:.25rem;justify-content:center;flex-wrap:wrap;padding:.35rem;border-top:1px solid var(--sg-line)}
.sg-photo-tools form{margin:0}
.sg-flip{transform:scaleX(-1)}
.sg-video{width:100%;max-height:420px;border-radius:10px;background:#000}
.sg-drop{border:2px dashed var(--sg-line);border-radius:10px;padding:1rem}

/* ----- listing page gallery ----- */
.sg-gallery-main{position:relative;aspect-ratio:4/3;background:var(--sg-sky);overflow:hidden}
.sg-gallery-main img{width:100%;height:100%;object-fit:contain;display:block;background:#f1f5f9}
.sg-gallery-thumbs{display:flex;gap:.4rem;overflow-x:auto;padding:.5rem}
.sg-gallery-thumbs button{flex:none;width:76px;aspect-ratio:4/3;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;background:var(--sg-sky)}
.sg-gallery-thumbs button[aria-current=true]{border-color:var(--sg-signal)}
.sg-gallery-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.sg-owner-bar{border-inline-start:4px solid var(--tblr-primary)}
.sg-my-thumb-sm{width:64px}
.sg-rotate-down{transform:rotate(-90deg)}
.sg-ltr-inline{direction:ltr;unicode-bidi:isolate;display:inline-block;font-feature-settings:normal}

/* ----- header counts, chat ----- */
.sg-count{position:absolute;top:-.1rem;inset-inline-end:-.1rem;font-size:.65rem;padding:.15rem .3rem;line-height:1}
.sg-unread{background:var(--tblr-primary-lt)}
.sg-chat{display:flex;flex-direction:column;gap:.6rem;max-height:65vh;overflow-y:auto;background:var(--sg-ground)}
[data-bs-theme=dark] .sg-chat{background:transparent}
.sg-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:85%}
.sg-msg.is-mine{align-self:flex-end;align-items:flex-end}
.sg-msg-bubble{background:var(--tblr-bg-surface);border:1px solid var(--sg-line);border-radius:14px 14px 14px 4px;padding:.5rem .75rem;overflow-wrap:anywhere}
.sg-msg.is-mine .sg-msg-bubble{background:var(--tblr-primary-lt);border-color:#cfe0f1;border-radius:14px 14px 4px 14px}
.sg-msg-time{font-size:.72rem;color:var(--tblr-secondary);margin-top:.15rem}
.sg-msg-system{align-self:center;font-size:.8rem;color:var(--tblr-secondary);background:var(--sg-sky);border-radius:999px;padding:.2rem .8rem;text-align:center}
.sg-msg-warning{font-size:.78rem;color:#8a5300;background:#fff4d6;border:1px solid #ffe28a;border-radius:8px;padding:.25rem .5rem;margin-top:.25rem}
.sg-msg-file{display:inline-flex;align-items:center;margin-bottom:.25rem}
.sg-offer{border-inline-start:3px solid var(--sg-signal);padding-inline-start:.5rem;margin-bottom:.25rem}
.sg-contact-box summary{list-style:none}
.sg-contact-box summary::-webkit-details-marker,.sg-report summary::-webkit-details-marker{display:none}
.sg-report summary{cursor:pointer;list-style:none}
.sg-w-260{max-width:260px}
.sg-doc h2{margin-top:1rem}
@media print{.sg-contract{border:0;box-shadow:none}.sg-contract p{line-height:2.4}}
.sg-tabs-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.sg-contract p,.sg-contract li{overflow-wrap:anywhere}

/* ----- buyer tools ----- */
.sg-card-actions{display:flex;gap:.25rem;flex:none}
.sg-card-actions form{margin:0}
.sg-card-actions .btn{color:var(--tblr-secondary)}
.sg-card-actions .btn.is-on{color:#d6336c;border-color:#f3c1d3;background:#fff0f5}
.sg-card-actions .btn.is-on .icon{fill:currentColor}
.sg-compare-bar{position:sticky;bottom:0;z-index:20;background:var(--sg-ink);color:#fff;padding:.6rem 0;padding-bottom:calc(.6rem + env(safe-area-inset-bottom, 0px));box-shadow:0 -6px 20px rgba(20,30,40,.18)}
.sg-compare-bar form{margin:0}
.sg-compare th{white-space:nowrap;color:var(--tblr-secondary);font-weight:500}
.sg-compare thead th{min-width:200px;vertical-align:top;text-transform:none;font-size:.9rem;color:var(--tblr-body-color)}
.sg-save-search summary{cursor:pointer;list-style:none}
.sg-save-search summary::-webkit-details-marker{display:none}

/* ----- help centre ----- */
.sg-help-search{max-width:560px}
.sg-article{line-height:2}
.sg-article h2{font-size:1.15rem;margin-top:1.5rem}
.sg-article table{width:100%;margin:1rem 0;border-collapse:collapse;font-size:.9rem;display:block;overflow-x:auto}
.sg-article th,.sg-article td{border:1px solid var(--sg-line);padding:.4rem .6rem;vertical-align:top}
.sg-article th{background:var(--sg-sky)}
.sg-article blockquote{border-inline-start:4px solid var(--sg-signal);background:#fff8e1;padding:.5rem .8rem;margin:0 0 1rem;border-radius:6px}
.sg-article code{direction:ltr;unicode-bidi:isolate;font-feature-settings:normal}
.sg-w-120{min-width:120px}
.sg-seller-logo{width:4rem;height:4rem;border-radius:14px;object-fit:contain;background:#fff;border:1px solid var(--sg-line);flex:none}
.sg-seller-logo-sm{width:2.6rem;height:2.6rem;border-radius:10px}
.sg-stats-chart{width:100%;height:auto;max-height:260px;display:block}
.sg-stats-bar{fill:var(--tblr-primary);opacity:.85}
.sg-stats-bar:hover{opacity:1}
.sg-stats-dot{fill:var(--sg-signal)}
.sg-key-once{direction:ltr;unicode-bidi:isolate;font-family:ui-monospace,Consolas,monospace;word-break:break-all;user-select:all}
.sg-article pre{direction:ltr;text-align:left;unicode-bidi:isolate;white-space:pre;overflow-x:auto}

/* ---- 0.19 Buttons, after the owner's sample: rounded, a gentle top-to-bottom gradient, a darker edge, a soft
   shadow, a bold label and the icon before the text. Colours stay the site's own; each variant sets its gradient. */
:root{--sg-btn-default-grad:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(16,24,40,.035) 100%);--sg-btn-default-shadow:0 1px 2px rgba(16,24,40,.08),inset 0 1px 0 rgba(255,255,255,.65)}
[data-bs-theme=dark]{--sg-btn-default-grad:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(0,0,0,.06) 100%);--sg-btn-default-shadow:0 1px 2px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05)}
.btn{--tblr-btn-border-radius:7px;--tblr-btn-font-weight:600;--sg-btn-grad:var(--sg-btn-default-grad);--sg-btn-shadow:var(--sg-btn-default-shadow);
  gap:.45rem;background-image:var(--sg-btn-grad);box-shadow:var(--sg-btn-shadow);line-height:1.5}
.btn .icon{margin-inline:0;width:1.15em;height:1.15em;stroke-width:2}
.btn:focus-visible{box-shadow:var(--sg-btn-shadow),0 0 0 .2rem rgba(var(--tblr-primary-rgb),.28)}
.btn-sm{--tblr-btn-border-radius:6px}
.btn-lg{--tblr-btn-border-radius:9px}
.btn-primary{--tblr-btn-color:#fff;--tblr-btn-hover-color:#fff;--tblr-btn-active-color:#fff;--tblr-btn-bg:#2271b3;--tblr-btn-border-color:#1b5f97;
  --tblr-btn-hover-bg:#1f68a6;--tblr-btn-hover-border-color:#174f80;--tblr-btn-active-bg:#1b5f97;--tblr-btn-active-border-color:#164a76;
  --sg-btn-grad:linear-gradient(180deg,#3a8bd9 0%,#2271b3 100%);--sg-btn-shadow:0 1px 2px rgba(16,24,40,.2),inset 0 1px 0 rgba(255,255,255,.22)}
.btn-primary:hover{--sg-btn-grad:linear-gradient(180deg,#3080cc 0%,#1c63a0 100%)}
.btn-primary:active{--sg-btn-grad:linear-gradient(180deg,#1f68a6 0%,#1b5f97 100%)}
.btn-success{--sg-btn-grad:linear-gradient(180deg,#3fb877 0%,#2b9a5c 100%);--tblr-btn-border-color:#24834e;--sg-btn-shadow:0 1px 2px rgba(16,24,40,.18),inset 0 1px 0 rgba(255,255,255,.2)}
.btn-danger{--sg-btn-grad:linear-gradient(180deg,#e85c49 0%,#cd3b2c 100%);--tblr-btn-border-color:#b23224;--sg-btn-shadow:0 1px 2px rgba(16,24,40,.18),inset 0 1px 0 rgba(255,255,255,.2)}
.btn-signal{--sg-btn-grad:linear-gradient(180deg,#ffd04d 0%,#f6b500 100%);--tblr-btn-border-color:#d69c00;--sg-btn-shadow:0 1px 2px rgba(16,24,40,.16),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-link,[class*="btn-ghost"],[class*="btn-outline"]{--sg-btn-grad:none;--sg-btn-shadow:none}
.btn:disabled,.btn.disabled{--sg-btn-shadow:none}
.sg-search .btn{border-radius:9px}

/* ---- 0.19 Menus ---- */
/* Top bar: rounded hover and active states, labels on one line. */
.navbar.sg-top .navbar-nav .nav-link{border-radius:9px;padding:.42rem .75rem;white-space:nowrap;font-weight:500;transition:background-color .15s,color .15s}
.navbar.sg-top .navbar-nav .nav-link:hover{background:var(--tblr-primary-lt);color:var(--tblr-primary)}
.navbar.sg-top .navbar-nav .nav-item.active .nav-link{background:var(--tblr-primary-lt);color:var(--tblr-primary);font-weight:600}
.navbar.sg-top .navbar-nav .nav-item.active::after,.navbar.sg-top .navbar-nav .nav-item.active .nav-link::after{display:none}
.navbar.sg-top .nav-link-icon{opacity:.85}
/* The account menu: grouped, two columns on wide screens, one on phones, scrolls when long. */
.sg-account-menu{width:min(34rem,94vw);padding:.5rem;max-height:min(80vh,40rem);overflow-y:auto;border-radius:12px;box-shadow:0 12px 32px rgba(16,24,40,.14)}
.sg-account-head{display:flex;align-items:center;gap:.7rem;padding:.4rem .6rem .7rem;border-bottom:1px solid var(--sg-line);margin-bottom:.4rem}
.sg-account-head strong{display:block;line-height:1.3}
.sg-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 .5rem}
.sg-account-menu .dropdown-header{font-size:.72rem;font-weight:700;color:var(--tblr-secondary);padding:.55rem .6rem .25rem}
.sg-account-menu .dropdown-item{border-radius:8px;padding:.42rem .6rem;white-space:nowrap}
.sg-account-menu .dropdown-item:hover{background:var(--tblr-primary-lt);color:var(--tblr-primary)}
.sg-account-foot{display:flex;flex-wrap:wrap;gap:.25rem;border-top:1px solid var(--sg-line);margin-top:.4rem;padding-top:.4rem}
.sg-account-foot .dropdown-item{width:auto;flex:1 1 auto}
@media (max-width:575.98px){.sg-account-grid{grid-template-columns:1fr}}
/* Admin sidebar: sections with headings, rounded items, the yellow mark on the active one. */
.navbar-vertical.sg-side .sg-side-heading{font-size:.72rem;font-weight:700;color:var(--tblr-secondary);padding:1rem 1.1rem .3rem;list-style:none}
.navbar-vertical.sg-side .navbar-nav .nav-link{border-radius:9px;margin-inline:.5rem;padding:.42rem .65rem;transition:background-color .15s,color .15s}
.navbar-vertical.sg-side .navbar-nav .nav-link:hover{background:var(--sg-ground)}
.navbar-vertical.sg-side .navbar-nav .nav-link.active{background:var(--tblr-primary-lt);color:var(--tblr-primary);font-weight:600;box-shadow:inset -3px 0 0 var(--sg-signal)}
/* Landing header links like the top bar. */
.sg-land-nav nav .nav-link{border-radius:9px;padding:.4rem .7rem;white-space:nowrap;transition:background-color .15s,color .15s}
.sg-land-nav nav .nav-link:hover{background:var(--tblr-primary-lt)}

/* ---- 0.19 Footer line ---- */
.sg-credit{display:flex;flex-wrap:wrap;gap:.35rem .9rem;align-items:center;justify-content:center;font-size:.85rem;color:var(--tblr-secondary)}
.sg-credit .sg-dot{opacity:.5}
.sg-heart{color:#e11d48;fill:#e11d48;stroke:#e11d48;width:1.05em;height:1.05em;vertical-align:-.15em;animation:sg-beat 1.6s ease-in-out infinite}
@keyframes sg-beat{0%,100%{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.sg-heart{animation:none}}

/* ---- 0.19 Solar Hijri date picker ---- */
.sg-dp{position:absolute;z-index:1070;width:18.5rem;max-width:calc(100vw - 16px);background:var(--tblr-bg-surface);
  border:1px solid var(--sg-line);border-radius:12px;box-shadow:0 12px 32px rgba(16,24,40,.16);padding:.6rem;user-select:none}
.sg-dp-head{display:flex;align-items:center;justify-content:space-between;gap:.3rem;margin-bottom:.4rem}
.sg-dp-head strong{font-size:.95rem;flex:1;text-align:center}
.sg-dp-nav{border:0;background:transparent;border-radius:8px;width:2rem;height:2rem;color:var(--sg-ink);font-size:1.1rem;line-height:1}
.sg-dp-nav:hover{background:var(--tblr-primary-lt);color:var(--tblr-primary)}
.sg-dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.15rem;text-align:center}
.sg-dp-grid .sg-dp-wd{font-size:.72rem;color:var(--tblr-secondary);padding:.2rem 0}
.sg-dp-grid button{border:0;background:transparent;border-radius:8px;height:2.1rem;color:var(--sg-ink);font-size:.88rem}
.sg-dp-grid button:hover{background:var(--tblr-primary-lt);color:var(--tblr-primary)}
.sg-dp-grid button.is-today{box-shadow:inset 0 0 0 1px var(--tblr-primary)}
.sg-dp-grid button.is-picked{background:var(--tblr-primary);color:#fff;font-weight:600}
.sg-dp-grid button.is-friday{color:#d63939}
.sg-dp-grid button:disabled{opacity:.3;cursor:default;background:transparent}
.sg-dp-foot{display:flex;justify-content:space-between;gap:.4rem;margin-top:.5rem;border-top:1px solid var(--sg-line);padding-top:.5rem}
.btn-success:hover,.btn-danger:hover,.btn-signal:hover{filter:brightness(.95)}
.btn-success:active,.btn-danger:active,.btn-signal:active{filter:brightness(.9)}
.sg-land-nav nav .nav-link.active{background:var(--tblr-primary-lt);color:var(--tblr-primary);font-weight:600}
.sg-land-footer .sg-credit,.page-wrapper > .footer .sg-credit{justify-content:center}
.sg-land-footer .sg-credit{border-top:1px dashed var(--sg-line);padding-top:1rem}
.min-w-0{min-width:0}
/* Between tablet and wide screens the top bar keeps its words and drops the small icons, so it stays on one line. */
@media (min-width:992px) and (max-width:1399.98px){.navbar.sg-top #sg-nav .nav-link-icon{display:none}.navbar.sg-top #sg-nav .nav-link{padding-inline:.6rem}}
/* Date boxes show Persian digits like the rest of the page (Vazirmatn ss01); the value sent is the same either way. */
input[data-sg-date]{font-feature-settings:"ss01"}
/* Until the page container stops being full width (1200px), its edge is 8px: wide row gutters (g-4, g-5) would push
   the page sideways, so they narrow to match. */
@media (max-width:1199.98px){.row.g-4,.row.g-5,.row.gx-4,.row.gx-5{--tblr-gutter-x:1rem}}

/* ---- 0.20 Market prices, model pages ---- */
.sg-market{border-inline-start:3px solid var(--sg-signal)}
details.sg-sold > summary{list-style:none}
details.sg-sold > summary::-webkit-details-marker{display:none}
details.sg-sold[open] > summary{opacity:.75}
/* Model codes keep the digits printed on the machine («DMC 635 V», not «DMC ۶۳۵ V»). */
.sg-code{font-feature-settings:normal}

/* ---- 0.21 Rental ---- */
.sg-dp-grid button.is-busy{opacity:1;background:repeating-linear-gradient(-45deg,transparent 0 4px,rgba(214,57,57,.12) 4px 8px);color:var(--tblr-secondary);text-decoration:line-through}
.sg-rent-box{border:1px dashed var(--sg-line);border-radius:12px;padding:1rem}
.sg-rent-rates{display:flex;flex-wrap:wrap;gap:.5rem}
.sg-rent-rates > div{flex:1 1 7rem;border:1px solid var(--sg-line);border-radius:10px;padding:.5rem .7rem;background:var(--sg-ground)}
.sg-rent-rates strong{display:block;font-size:1.05rem}
.sg-listing-photo .sg-badge-rent{top:auto;bottom:.75rem;inset-inline-end:.75rem}

/* ---- 0.22 Auctions ---- */
.sg-cover{object-fit:cover;max-height:22rem}
.sg-auction{border-top:3px solid #d63939}
.sg-auction [data-sg-auction-left]{font-variant-numeric:tabular-nums;font-size:1.15rem}
.sg-auction-box{border-inline-start:3px solid #d63939}
.sg-auction-box:hover{box-shadow:0 6px 18px rgba(16,24,40,.08)}

/* ---- 0.23 Plain buttons stand out: a light-blue face, a clear edge, the icon in the brand colour, a lift on hover.
   (Coloured, ghost, outline and link buttons keep their own look.) ---- */
:root{--sg-plain-face:linear-gradient(180deg,#ffffff 0%,#edf3fa 100%);--sg-plain-edge:#c3d2e2;--sg-plain-hover:linear-gradient(180deg,#f7fbff 0%,#e3eef9 100%)}
[data-bs-theme=dark]{--sg-plain-face:linear-gradient(180deg,#22303d 0%,#1b2630 100%);--sg-plain-edge:#3a4d60;--sg-plain-hover:linear-gradient(180deg,#283848 0%,#202d3a 100%)}
.btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-signal):not(.btn-warning):not(.btn-info):not(.btn-dark):not(.btn-link):not([class*="btn-ghost"]):not([class*="btn-outline"]):not(.sg-act){
  --sg-btn-grad:var(--sg-plain-face);--tblr-btn-border-color:var(--sg-plain-edge);--tblr-btn-color:var(--sg-ink);
  --tblr-btn-hover-border-color:var(--tblr-primary);--tblr-btn-hover-color:var(--tblr-primary);
  --sg-btn-shadow:0 1px 2px rgba(16,24,40,.10),inset 0 1px 0 rgba(255,255,255,.85)}
.btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-signal):not(.btn-warning):not(.btn-info):not(.btn-dark):not(.btn-link):not([class*="btn-ghost"]):not([class*="btn-outline"]):not(.sg-act):hover{--sg-btn-grad:var(--sg-plain-hover)}
.btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-signal):not(.btn-warning):not(.btn-info):not(.btn-dark):not(.btn-link):not([class*="btn-ghost"]):not([class*="btn-outline"]):not(.sg-act) > .icon{color:var(--tblr-primary)}
.btn{transition:transform .12s ease,box-shadow .15s ease,background-color .15s,border-color .15s,color .15s}
.btn:not(:disabled):not(.disabled):hover{transform:translateY(-1px);box-shadow:var(--sg-btn-shadow),0 6px 14px rgba(34,113,179,.14)}
.btn:not(:disabled):not(.disabled):active{transform:none}
@media (prefers-reduced-motion:reduce){.btn:not(:disabled):not(.disabled):hover{transform:none}}
.btn-sm{--tblr-btn-padding-y:.34rem;--tblr-btn-padding-x:.75rem}
/* Outline buttons: a tinted face, so a red «خروج از همه‌ی دستگاه‌ها» reads as a button, not a frame. */
.btn-outline-danger{--sg-btn-grad:linear-gradient(180deg,#ffffff 0%,#fdeeee 100%);--sg-btn-shadow:0 1px 2px rgba(214,57,57,.14),inset 0 1px 0 rgba(255,255,255,.8);--tblr-btn-border-color:#e7a5a5}
.btn-outline-primary{--sg-btn-grad:linear-gradient(180deg,#ffffff 0%,#eaf2fb 100%);--sg-btn-shadow:0 1px 2px rgba(34,113,179,.14),inset 0 1px 0 rgba(255,255,255,.8)}
.btn-outline-danger:hover,.btn-outline-primary:hover{--sg-btn-grad:none}
[data-bs-theme=dark] .btn-outline-danger,[data-bs-theme=dark] .btn-outline-primary{--sg-btn-grad:none}
/* A chosen option in a button group (the sale / rent filter): solid brand colour. */
.btn-check:checked + .btn,.btn.active{--sg-btn-grad:none;background-color:var(--tblr-primary);border-color:var(--tblr-primary-darken);color:#fff}
/* The plain-button face (a variable set by a far more specific rule) must not paint over a chosen option. */
.btn-check:checked + .btn,.btn-check:checked + .btn:hover,.btn.active,.btn.active:hover{background-image:none;color:#fff;box-shadow:inset 0 1px 2px rgba(16,24,40,.18)}
.btn-check:checked + .btn > .icon,.btn.active > .icon{color:#fff}

/* ---- 0.23 Listing barcode, summary ---- */
.sg-qr{width:112px;height:112px;border:1px solid var(--sg-line);border-radius:10px;padding:4px;background:#fff}
.sg-summary{background:var(--tblr-primary-lt);border-radius:10px;padding:.6rem .8rem;margin-bottom:1rem;line-height:1.9}
.sg-label-page{background:#fff}
.sg-label-tools{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:1rem}
.sg-label{width:min(100%,24rem);margin:0 auto 2rem;border:2px dashed #9aa9b8;border-radius:16px;padding:1.2rem;text-align:center;color:#111}
.sg-label-brand{display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:800;margin-bottom:.6rem}
.sg-label-qr{width:100%;max-width:18rem;height:auto;image-rendering:pixelated}
.sg-label-title{font-weight:800;font-size:1.15rem;margin-top:.6rem;line-height:1.6}
.sg-label-meta{color:#555;font-size:.9rem}
.sg-label-code{margin-top:.4rem;font-size:1.05rem}
.sg-label-url{font-family:monospace;font-size:.85rem;color:#333;margin-top:.2rem}
.sg-label-hint{font-size:.8rem;color:#666;margin-top:.5rem}
@media print{.sg-label{border-color:#000;margin:0 auto;page-break-inside:avoid}}

/* 0.25 tenders: long tick lists (categories, provinces) in columns that wrap on phones */
.sg-check-columns{columns:2 10rem;column-gap:1rem}
.sg-check-columns .form-check{break-inside:avoid}

/* ---- 0.25.1 Form fields: a soft face, a clear edge, a darker edge on hover and a ring in the brand colour on focus;
   small fields tall enough to tap. Selects keep Tabler's arrow (it is their background image, so only the colour
   of their ground is set here). ---- */
:root{--sg-field-face:#fbfdff;--sg-field-edge:#c9d6e3;--sg-field-hover:#9fb7cf;--sg-field-ring:rgba(34,113,179,.18)}
[data-bs-theme=dark]{--sg-field-face:#1b2630;--sg-field-edge:#3a4d60;--sg-field-hover:#557089;--sg-field-ring:rgba(90,160,220,.28)}
.form-control,.form-select{background-color:var(--sg-field-face);border-color:var(--sg-field-edge);border-radius:10px;box-shadow:inset 0 1px 2px rgba(16,24,40,.05);transition:border-color .15s,box-shadow .15s,background-color .15s}
.form-control:hover:not(:disabled):not(:focus),.form-select:hover:not(:disabled):not(:focus){border-color:var(--sg-field-hover)}
.form-control:focus,.form-select:focus{background-color:var(--tblr-bg-surface);border-color:var(--tblr-primary);box-shadow:0 0 0 .2rem var(--sg-field-ring)}
.form-control.is-invalid,.form-select.is-invalid{border-color:var(--tblr-danger)}
.form-control-sm,.form-select-sm{min-height:2.4rem;font-size:.9rem;border-radius:9px;padding-top:.42rem;padding-bottom:.42rem}
.input-icon .form-control-sm{padding-inline-start:2.25rem}
.sg-search .form-control,.sg-search .form-select{box-shadow:none}

/* A filter bar: label above each field, fields of one width side by side, a pill for a yes/no choice, the buttons
   at the end. Two fields a row on phones. */
.sg-filter .card-body{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end;background:linear-gradient(180deg,var(--tblr-bg-surface) 0%,var(--sg-field-face) 100%);border-radius:inherit}
.sg-filter .sg-field{flex:1 1 10.5rem;min-width:9rem;max-width:15rem}
.sg-filter .sg-field-wide{flex:2 1 15rem;max-width:24rem}
.sg-filter .form-label{font-size:.8rem;font-weight:600;color:var(--tblr-secondary);margin-bottom:.3rem}
.sg-filter .sg-toggle{display:inline-flex;align-items:center;gap:.5rem;min-height:2.4rem;padding:.35rem .9rem;margin:0;border:1px solid var(--sg-field-edge);border-radius:999px;background:var(--sg-field-face);font-size:.9rem;cursor:pointer;user-select:none;transition:border-color .15s,background-color .15s,color .15s}
.sg-filter .sg-toggle:hover{border-color:var(--sg-field-hover)}
.sg-filter .sg-toggle:has(input:checked){border-color:var(--tblr-primary);background:rgba(34,113,179,.08);color:var(--tblr-primary);font-weight:600}
.sg-filter .sg-toggle .form-check-input{margin:0;float:none;flex:none}
.sg-filter .sg-filter-buttons{display:flex;gap:.5rem;margin-inline-start:auto}
.sg-filter .sg-filter-buttons .btn{min-height:2.4rem}
@media (max-width:575.98px){.sg-filter .sg-field{flex:1 1 calc(50% - .5rem);max-width:none}.sg-filter .sg-field-wide{flex-basis:100%;max-width:none}.sg-filter .sg-filter-buttons{width:100%}.sg-filter .sg-filter-buttons .btn{flex:1}}

/* Save and compare: round buttons with a soft shadow; the heart turns pink and the columns blue on hover, and each
   fills with its colour once on. On the listing page they carry their words too. */
.sg-card-actions{gap:.4rem}
.btn.sg-act{width:2.3rem;height:2.3rem;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;
  background:var(--tblr-bg-surface);background-image:none;border:1px solid var(--sg-line);color:var(--tblr-secondary);
  box-shadow:0 1px 2px rgba(16,24,40,.08),0 3px 10px rgba(16,24,40,.06)}
.btn.sg-act .icon{width:1.2rem;height:1.2rem;margin:0;color:inherit;transition:transform .15s ease}
.btn.sg-act.has-label{width:auto;border-radius:999px;padding:0 .9rem;font-weight:600;font-size:.85rem}
.btn.sg-act:hover .icon{transform:scale(1.12)}
.btn.sg-fav:hover{color:#d6336c;border-color:#f1b3c8;background:#fff3f7;box-shadow:0 4px 12px rgba(214,51,108,.18)}
.btn.sg-cmp:hover{color:var(--tblr-primary);border-color:#a9c8e6;background:#eef5fc;box-shadow:0 4px 12px rgba(34,113,179,.18)}
.btn.sg-fav.is-on,.btn.sg-fav.is-on:hover{background:linear-gradient(180deg,#f0577f 0%,#d6336c 100%);border-color:#c22a5f;color:#fff;box-shadow:0 4px 12px rgba(214,51,108,.35)}
.btn.sg-fav.is-on .icon{fill:currentColor}
.btn.sg-cmp.is-on,.btn.sg-cmp.is-on:hover{background:linear-gradient(180deg,#3f8fd4 0%,#2271b3 100%);border-color:#1b5d93;color:#fff;box-shadow:0 4px 12px rgba(34,113,179,.32)}
.btn.sg-act:active{transform:scale(.92)}
[data-bs-theme=dark] .btn.sg-fav:hover{background:#3a2430}
[data-bs-theme=dark] .btn.sg-cmp:hover{background:#1f3346}
/* The listing title keeps its width; the labelled save and compare buttons go under it when there is no room. */
.sg-title-row h1{flex:1 1 14rem;min-width:0}

/* ---- 0.26 AI card: its summary is the header; the listing's photos as small choices ---- */
.sg-ai-card > summary{cursor:pointer;list-style:none}
.sg-ai-card > summary::-webkit-details-marker{display:none}
.sg-ai-photos{display:flex;flex-wrap:wrap;gap:.4rem}
.sg-ai-photo{position:relative;cursor:pointer;margin:0}
.sg-ai-photo input{position:absolute;opacity:0;inset:0}
.sg-ai-photo img{width:64px;height:48px;object-fit:cover;border-radius:8px;border:2px solid var(--sg-line)}
.sg-ai-photo input:checked + img{border-color:var(--tblr-primary);box-shadow:0 0 0 .15rem var(--sg-field-ring)}
.sg-ai-photo input:focus-visible + img{outline:2px solid var(--tblr-primary);outline-offset:2px}

/* ---- 0.28 ads: always marked «تبلیغ», never mistaken for a listing; banners keep their shape before the image loads ---- */
.sg-ad{display:block}
.sg-ad-link{position:relative}
.sg-ad-tag{position:absolute;top:.5rem;inset-inline-end:.5rem;padding:.1rem .5rem;border-radius:999px;background:rgba(255,255,255,.92);color:#4a5866;font-size:.7rem;font-weight:700;letter-spacing:.02em;box-shadow:0 1px 2px rgba(16,24,40,.12);pointer-events:none}
.sg-ad-banner .sg-ad-link{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--sg-line);background:var(--sg-sky);box-shadow:0 1px 2px rgba(16,24,40,.05)}
.sg-ad-banner img{display:block;width:100%;height:auto}
a.sg-ad-link:focus-visible{outline:3px solid var(--tblr-primary);outline-offset:2px}
.sg-ad-card .sg-ad-link{color:inherit;text-decoration:none;overflow:hidden;border-color:#f1d27a;background:linear-gradient(180deg,#fffdf4 0%,var(--tblr-bg-surface) 40%)}
.sg-ad-card a.sg-ad-link:hover{box-shadow:0 6px 18px rgba(16,24,40,.1);border-color:var(--sg-signal)}
.sg-ad-card img{width:100%;height:auto}
.sg-ad-card.h-100 > .sg-ad-link{height:100%}
.sg-ad-headline{display:block;font-weight:700;font-size:1rem;line-height:1.5}
.sg-ad-body{display:block;color:var(--tblr-secondary);font-size:.875rem;margin-top:.2rem}
.sg-ad-more{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;color:var(--tblr-primary);font-weight:600;font-size:.85rem}
.sg-ad-more .icon{width:1rem;height:1rem}
.sg-ad-house .sg-ad-tag{background:var(--tblr-primary-lt);color:var(--tblr-primary-text-emphasis)}
.sg-ad-empty{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;border:1px dashed #c9d6e2;border-radius:14px;color:var(--tblr-secondary);text-decoration:none;background:transparent}
.sg-ad-empty:hover{border-color:var(--tblr-primary);color:var(--tblr-primary);text-decoration:none}
.sg-ad-empty > .icon{width:1.6rem;height:1.6rem;flex:none;color:var(--sg-signal)}
[data-bs-theme=dark] .sg-ad-tag{background:rgba(20,27,33,.9);color:#c3ced8}
[data-bs-theme=dark] .sg-ad-card .sg-ad-link{background:var(--tblr-bg-surface);border-color:#5b4a14}
/* Where a place is on its page: a small drawing, the place in yellow. */
.sg-ad-map{display:grid;gap:4px;padding:8px;border:1px solid var(--sg-line);border-radius:10px;background:var(--sg-ground);aspect-ratio:16/10}
.sg-ad-map > span{border-radius:4px;background:#dfe7ef}
.sg-ad-map > span.is-ad{background:var(--sg-signal);box-shadow:0 0 0 2px rgba(246,181,0,.35)}
.sg-ad-map.m-home{grid-template-rows:1fr 2fr 1.4fr .9fr 1.4fr}
.sg-ad-map.m-top{grid-template-rows:.8fr .9fr 3fr}
.sg-ad-map.m-tenders{grid-template-rows:.8fr .9fr 1fr 1fr 1fr}
.sg-ad-map .sg-ad-map-grid{display:grid;grid-template-columns:1fr 3fr;gap:4px;background:none}
.sg-ad-map .sg-ad-map-grid > span{border-radius:4px;background:#dfe7ef}
.sg-ad-map .sg-ad-map-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:none}
.sg-ad-map .sg-ad-map-tiles > span{border-radius:4px;background:#e9eff5}
.sg-ad-map .sg-ad-map-tiles > span.is-ad{background:var(--sg-signal)}
.sg-ad-map.m-feed,.sg-ad-map.m-side{grid-template-rows:.8fr 4fr}
.sg-ad-map.m-side .sg-ad-map-grid{grid-template-columns:3fr 2fr}
.sg-ad-map.m-side .sg-ad-map-col{display:grid;grid-template-rows:2fr 1.4fr 1fr;gap:4px;background:none}
.sg-ad-map.m-side .sg-ad-map-col > span{border-radius:4px;background:#e9eff5}
.sg-ad-map.m-side .sg-ad-map-col > span.is-ad{background:var(--sg-signal)}
[data-bs-theme=dark] .sg-ad-map > span,[data-bs-theme=dark] .sg-ad-map .sg-ad-map-grid > span,[data-bs-theme=dark] .sg-ad-map .sg-ad-map-tiles > span,[data-bs-theme=dark] .sg-ad-map.m-side .sg-ad-map-col > span{background:#24313c}
/* Occupancy of a place over the next 30 days, and daily shows. */
.sg-occ{display:grid;grid-template-columns:repeat(30,1fr);gap:2px;align-items:end;height:2.4rem}
.sg-occ > span{display:block;border-radius:2px;background:#dfe7ef;min-height:3px}
.sg-occ > span.o-1{height:33%;background:#a7cbe9}.sg-occ > span.o-2{height:66%;background:#5f9fd6}.sg-occ > span.o-3{height:100%;background:#2271b3}
.sg-occ > span.o-full{height:100%;background:#d63939}
.sg-ad-preview{max-width:100%}
.sg-ad-preview.is-card{max-width:22rem}
.sg-ad-preview.is-tile{max-width:16rem}
/* 0.28.1 «حامی رسمیِ …»: small sponsor tiles under the home banner, four in a row (two on a phone). */
.sg-sponsors{margin-bottom:2rem}
.sg-sponsors-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}
.sg-sponsors-head .badge{font-size:.7rem}
.sg-ad-tile .sg-ad-link{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--sg-line);background:var(--tblr-bg-surface);box-shadow:0 1px 2px rgba(16,24,40,.05);transition:box-shadow .15s,border-color .15s,transform .15s}
.sg-ad-tile a.sg-ad-link:hover{border-color:#a9c8e6;box-shadow:0 6px 16px rgba(16,24,40,.1);transform:translateY(-1px)}
.sg-ad-tile img{display:block;width:100%;height:auto}
.sg-ad-empty.sg-ad-tile{aspect-ratio:2/1;flex-direction:column;justify-content:center;text-align:center;gap:.3rem}
.sg-ad-map .sg-ad-map-tiles.m-four{grid-template-columns:repeat(4,1fr)}
/* 0.29 footer: contact details, legal links and trust badges */
.sg-contact{color:var(--tblr-secondary)}
.sg-contact .icon{width:1rem;height:1rem}
.sg-badges{display:flex;gap:.75rem;flex-wrap:wrap}
.sg-badges img{width:80px;height:80px;border-radius:10px;background:#fff;border:1px solid var(--sg-line)}
@media (prefers-reduced-motion:reduce){.sg-ad-tile a.sg-ad-link{transition:none}.sg-ad-tile a.sg-ad-link:hover{transform:none}}
.sg-ad-phone{display:block;width:100%;max-width:18rem;height:auto}

/* ---- 0.29.2 page numbers: rounded tiles, the current page filled, «قبلی/بعدی» with arrows ---- */
.sg-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem}
.sg-pager-info{color:var(--tblr-secondary);font-size:.9rem}
.sg-pager-info strong{color:var(--sg-ink)}
.sg-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none}
.sg-page{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-width:2.4rem;height:2.4rem;padding:0 .7rem;border:1px solid var(--sg-line);border-radius:10px;
  background:var(--tblr-bg-surface);color:var(--sg-ink);font-weight:600;font-size:.92rem;text-decoration:none;box-shadow:0 1px 2px rgba(16,24,40,.06);
  transition:border-color .15s,color .15s,background-color .15s,transform .12s}
.sg-page .icon{width:1.05rem;height:1.05rem}
a.sg-page:hover{border-color:var(--tblr-primary);color:var(--tblr-primary);background:var(--tblr-primary-lt);text-decoration:none;transform:translateY(-1px)}
.sg-page.is-current{background:linear-gradient(180deg,#3080cc 0%,#2271b3 100%);border-color:#1b5f97;color:#fff;box-shadow:0 3px 10px rgba(34,113,179,.28)}
.sg-page.is-off{opacity:.45;box-shadow:none}
.sg-page.is-gap{border-color:transparent;background:none;box-shadow:none;min-width:1.4rem;padding:0;color:var(--tblr-secondary)}
@media (max-width:575.98px){.sg-pagination .sg-far{display:none}.sg-pager{justify-content:center}}
@media (prefers-reduced-motion:reduce){a.sg-page:hover{transform:none}}
[data-bs-theme=dark] .sg-page.is-current{color:#0b1620}

/* 0.31.0 — a box that cannot be changed here (the account's mobile number): grey, with a lock, no text cursor. */
.form-control.sg-locked,.form-control.sg-locked:disabled{background-color:var(--tblr-bg-surface-secondary);color:var(--tblr-secondary);cursor:not-allowed;opacity:1}
.form-hint .icon{width:1rem;height:1rem;margin-inline-end:.2rem;vertical-align:-.15em}
/* Staff: changing a user's number opens under the number. */
.sg-inline-edit summary{cursor:pointer;color:var(--tblr-primary);font-size:.8125rem;margin-top:.15rem}
.sg-inline-edit[open] summary{margin-bottom:.35rem}
/* 0.32.2 — «نسخه‌ها» in the panel: one folding card per version. */
.sg-version > summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}
.sg-version > summary::-webkit-details-marker{display:none}
.sg-version:not([open]) > summary{border-bottom:0}
.sg-version .sg-article ul{padding-inline-start:1.25rem}
/* 0.33.0 — manual payment: the site's bank details as the owner wrote them (line breaks kept), easy to copy. */
.sg-manual-bank{white-space:pre-line;background:var(--tblr-bg-surface-secondary);border:1px dashed var(--tblr-border-color);border-radius:.5rem;padding:.75rem 1rem;font-weight:600;line-height:2;user-select:all}
.sg-trial-banner{background:linear-gradient(180deg,#fff7e0 0%,#fff1c7 100%);border:1px solid #f2d27a;border-radius:.75rem;padding:1rem 1.25rem}
[data-bs-theme=dark] .sg-trial-banner{background:#3a3220;border-color:#6b5a2c}
/* 0.35.0 — «قیمت‌ها» in the panel: switched-off products faded, the add-a-product card. */
.sg-product-off{opacity:.65}
.sg-product-new > summary{cursor:pointer;list-style:none;font-weight:600}
.sg-product-new > summary::-webkit-details-marker{display:none}
.sg-product-new:not([open]){border-style:dashed;background:transparent}
