.breadcrumb-wrap{
  max-width:1440px;margin:0 auto;
  padding:18px 32px 0;
  display:flex;align-items:center;gap:7px;
  font-size:12.5px;color:var(--text3);font-weight:500;
}
.breadcrumb-wrap a{color:var(--text3);transition:color .2s}
.breadcrumb-wrap a:hover{color:var(--blue)}
.bc-sep{opacity:.5}
.bc-current{color:var(--text2);font-weight:600}

.main{max-width:1440px;margin:0 auto;padding:24px 32px 80px}

.detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,360px);
  gap:20px;
  align-items:start;
}

.detail-left{display:flex;flex-direction:column;gap:20px}

.gallery{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.gallery-main{
  position:relative;
  aspect-ratio:16/9;
  background:var(--bg2);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.gallery-main-img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .4s var(--ease);
  font-size:54px;
  display:flex;align-items:center;justify-content:center;
  object-fit: contain;
}
.gallery-main-img:hover{transform:scale(1.03)}
.gallery-main-emoji{
  font-size:54px;line-height:1;
  pointer-events:none;
}
.gallery-main-placeholder,
.card-thumb-placeholder{
  width:100%;height:100%;display:block;
  background:
    linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),
    radial-gradient(circle at top right,rgba(37,99,235,.18),transparent 44%),
    linear-gradient(145deg,var(--bg2),var(--surface));
}

.t-badge{
  position:absolute;top:14px;left:14px;
  padding:4px 10px;border-radius:50px;
  font-size:10px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.tb-item    {background:var(--blue);color:#fff}
.tb-service {background:var(--purple);color:#fff}
.tb-job     {background:var(--green);color:#fff}
.tb-shop    {background:var(--orange);color:#fff}
.tb-magazine{background:var(--red);color:#fff}
.tb-lost    {background:#F59E0B;color:#fff}
.tb-found   {background:#10B981;color:#fff}

.gal-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  color:#0F172A;
  border:1px solid rgba(15,23,42,.08);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 18px rgba(15,23,42,.14);
  transition:all .2s var(--spring);
  font-size:15px;font-weight:700;
  opacity:0;
}
[data-theme="dark"] .gal-arrow{
  background:rgba(15,23,42,.82);
  color:#fff;
  border-color:rgba(255,255,255,.08);
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}
.gallery:hover .gal-arrow{opacity:1}
.gal-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.1);box-shadow:var(--shadow-md)}
[data-theme="dark"] .gal-arrow:hover{background:rgba(15,23,42,.96)}
.gal-prev{left:12px}
.gal-next{right:12px}

.gal-save{
  position:absolute;top:14px;right:14px;
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.9);backdrop-filter:blur(8px);
  color:#bbb;font-size:17px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-sm);
  transition:all .2s var(--spring);
}
.gal-save:hover{color:var(--red);transform:scale(1.12)}
.gal-save.saved{color:var(--red);background:#fff}

.gal-counter{
  position:absolute;bottom:14px;right:14px;
  background:rgba(0,0,0,.55);color:#fff;
  padding:4px 12px;border-radius:50px;
  font-size:11px;font-weight:600;
  backdrop-filter:blur(6px);
}
.gal-open{
  position:absolute;
  left:14px;
  bottom:14px;
  width:46px;
  height:46px;
  border-radius:16px;
  background:rgba(0,0,0,.58);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(8px);
  box-shadow:var(--shadow-sm);
  z-index:2;
  transition:transform .2s var(--spring),background .2s var(--ease),box-shadow .2s var(--ease);
}
.gal-open:hover{
  background:rgba(0,0,0,.72);
  transform:translateY(-2px) scale(1.03);
  box-shadow:var(--shadow-md);
}
[data-theme="light"] .gal-open{
  background:rgba(15,23,42,.72);
}
[data-theme="light"] .gal-open:hover{
  background:rgba(15,23,42,.88);
}
.gal-open svg{
  pointer-events:none;
}
.gal-view{
  position:absolute;top:14px;right:14px;
  background:rgba(0,0,0,.55);color:#fff;
  padding:4px 12px;border-radius:50px;
  font-size:11px;font-weight:700;
  backdrop-filter:blur(6px);
  z-index:2;
}
[data-theme="light"] .gal-view,
[data-theme="light"] .gal-counter{
  background:rgba(15,23,42,.68);
}

.gallery-thumbs{
  display:flex;gap:8px;padding:12px;
  overflow-x:auto;scrollbar-width:none;
  flex-wrap:wrap;
}
.gallery-thumbs::-webkit-scrollbar{display:none}
.thumb{
  flex-shrink:0;
  width:72px;height:54px;
  border-radius:var(--radius-sm);
  border:2px solid transparent;
  background:var(--bg2);
  display:flex;align-items:center;justify-content:center;
  font-size:22px;
  cursor:pointer;
  overflow:hidden;
  transition:border-color .2s,transform .2s var(--spring);
}
.thumb:hover{transform:translateY(-2px)}
.thumb.active{border-color:var(--blue)}
.thumb img{width:100%;height:100%;object-fit:cover}

.image-viewer{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:10px;
  --viewer-control-bg: rgba(255,255,255,.92);
  --viewer-control-bg-hover: #fff;
  --viewer-control-color: #0F172A;
  --viewer-control-border: rgba(15,23,42,.08);
  --viewer-control-shadow: 0 10px 24px rgba(15,23,42,.16);
}
.image-viewer[hidden]{
  display:none;
}
.image-viewer-backdrop{
  position:absolute;
  inset:0;
  background:rgba(248,250,252,.82);
  backdrop-filter:blur(8px);
}
[data-theme="dark"] .image-viewer-backdrop{
  background:rgba(3,11,42,.82);
}
[data-theme="dark"] .image-viewer{
  --viewer-control-bg: rgba(15,23,42,.82);
  --viewer-control-bg-hover: rgba(15,23,42,.96);
  --viewer-control-color: #fff;
  --viewer-control-border: rgba(255,255,255,.08);
  --viewer-control-shadow: 0 10px 24px rgba(0,0,0,.3);
}
.image-viewer-dialog{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.image-viewer-img{
  display:block;
  max-width:min(98vw,1800px);
  max-height:96vh;
  width:auto;
  object-fit:contain;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.image-viewer-close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;
  width:46px;
  height:46px;
  border-radius:50%;
  background:var(--viewer-control-bg);
  color:var(--viewer-control-color);
  font-size:28px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--viewer-control-border);
  box-shadow:var(--viewer-control-shadow);
  backdrop-filter:blur(10px);
}
.image-viewer-close:hover{
  background:var(--viewer-control-bg-hover);
}
.image-viewer-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:52px;
  height:52px;
  border-radius:50%;
  background:var(--viewer-control-bg);
  color:var(--viewer-control-color);
  font-size:32px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--viewer-control-border);
  box-shadow:var(--viewer-control-shadow);
  backdrop-filter:blur(10px);
}
.image-viewer-nav:hover{
  background:var(--viewer-control-bg-hover);
}
.image-viewer-prev{left:18px}
.image-viewer-next{right:18px}

.desc-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:24px 26px;
  box-shadow:var(--shadow-sm);
}
.desc-title{
  font-family:var(--font-display);
  font-size:13px;font-weight:800;color:var(--text3);
  text-transform:uppercase;letter-spacing:.06em;
  margin-bottom:14px;
}
.desc-body{
  font-size:14.5px;line-height:1.75;
  color:var(--text);
}
.desc-body p+p{margin-top:12px}

.tag-row{
  display:flex;flex-wrap:wrap;gap:7px;
  margin-top:18px;padding-top:18px;
  border-top:1px solid var(--border);
}
.tag{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 13px;border-radius:50px;
  font-size:12px;font-weight:600;
  background:var(--bg2);color:var(--text2);
  border:1px solid var(--border);
  transition:all .2s;
}
.tag:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}

.detail-right{
  position:sticky;
  top:calc(var(--header-h) + 16px);
}

.contact-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}

.cc-top{
  padding:16px 20px 0;
}
.cc-category{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 10px;border-radius:50px;
  font-size:10px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
  margin-bottom:12px;
}
.cc-title{
  font-family:var(--font-display);
  font-size:18px;font-weight:800;
  line-height:1.25;color:var(--text);
  margin-bottom:16px;
}
.cc-id{
  display:inline-flex;align-items:center;
  padding:6px 12px;border-radius:999px;
  background:var(--bg2);border:1px solid var(--border);
  color:var(--text3);font-size:12px;font-weight:700;
  margin:-4px 0 16px;
}

.cc-price-wrap{
  padding:14px 20px;
  background:var(--blue-soft);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.cc-price-label{
  font-size:11px;font-weight:600;color:var(--text);
  text-transform:uppercase;letter-spacing:.05em;
  margin-bottom:4px;
}
.cc-price{
  font-family:var(--font-display);
  font-size:26px;font-weight:800;color:var(--text);
  line-height:1;
}
.cc-price .price-suffix{font-size:inherit;font-weight:inherit;opacity:.92;margin-left:4px}

.cc-actions{
  padding:16px 20px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.btn-call{
  display:flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 20px;border-radius:50px;
  background:var(--blue);color:#fff;
  font-family:var(--font-body);font-size:14px;font-weight:700;
  box-shadow:0 3px 14px var(--blue-glow);
  transition:all .2s var(--spring);
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.btn-call:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:var(--shadow-blue)}

.btn-tg{
  display:flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 20px;border-radius:50px;
  background:var(--surface);color:var(--text);
  border:1.5px solid var(--border);
  font-family:var(--font-body);font-size:14px;font-weight:700;
  transition:all .2s var(--spring);
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.btn-tg:hover{border-color:#0088cc;color:#0088cc;background:rgba(0,136,204,.06);transform:translateY(-2px)}
.btn-tg svg{color:#0088cc;flex-shrink:0}

.btn-ig{
  display:flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 20px;border-radius:50px;
  background:var(--surface);color:var(--text);
  border:1.5px solid var(--border);
  font-family:var(--font-body);font-size:14px;font-weight:700;
  transition:all .2s var(--spring);
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.btn-ig:hover{border-color:#E1306C;color:#E1306C;background:rgba(225,48,108,.06);transform:translateY(-2px)}
.btn-ig svg{flex-shrink:0;color:#E1306C}

.btn-loc{
  display:flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 20px;border-radius:50px;
  background:var(--surface);color:var(--text);
  border:1.5px solid var(--border);
  font-family:var(--font-body);font-size:14px;font-weight:700;
  transition:all .2s var(--spring);
  width:100%;
  min-width:0;
  box-sizing:border-box;
  text-decoration:none;
}
.btn-loc:hover{border-color:#0E9F6E;color:#0E9F6E;background:rgba(14,159,110,.06);transform:translateY(-2px)}
.btn-loc svg{flex-shrink:0;color:#0E9F6E}
.btn-loc-static{cursor:default}
.btn-loc-static:hover{border-color:var(--border);color:var(--text);background:var(--surface);transform:none}
.btn-call span,.btn-tg span,.btn-ig span,.btn-loc span{
  min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  text-align:left;
}

.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  display:flex;flex-direction:column;
  cursor:pointer;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s;
  animation:cardIn .4s var(--ease) both;
}
.card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-md);
  border-color:rgba(0,71,204,.18);
}
.card-thumb{
  position:relative;width:100%;
  aspect-ratio:3/2;overflow:hidden;
  background:var(--bg2);
  display:flex;align-items:center;justify-content:center;
  font-size:40px;
}
.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.card:hover .card-thumb img{transform:scale(1.06)}

.sp-badge{
  position:absolute;top:10px;right:10px;
  padding:3px 9px;border-radius:50px;
  font-size:10px;font-weight:700;
  backdrop-filter:blur(8px);
}
.v-badge{
  position:absolute;right:10px;bottom:10px;
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 10px;border-radius:50px;
  font-size:10px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
  color:#fff;background:rgba(0,0,0,.55);
  backdrop-filter:blur(8px);
}
.sp-yangi{background:rgba(0,0,0,.55);color:#4ADE80}
.sp-top  {background:rgba(0,0,0,.55);color:#FCD34D}
.sp-hot  {background:rgba(0,0,0,.55);color:#FB923C}

.save-btn{
  position:absolute;bottom:10px;right:10px;
  width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.9);backdrop-filter:blur(8px);
  color:#bbb;font-size:14px;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.8);
  transition:all .2s var(--spring);
}
.card:hover .save-btn{opacity:1;transform:scale(1)}
.save-btn:hover{color:var(--red)!important;transform:scale(1.15)!important}
.save-btn.saved{opacity:1;color:var(--red);background:#fff}

.card-body{padding:13px 14px 15px;flex:1;display:flex;flex-direction:column;gap:5px}
.card-title{
  font-family:var(--font-display);
  font-size:13.5px;font-weight:600;line-height:1.38;color:var(--text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin-bottom:2px;
}
.card-city{
  display:flex;align-items:center;gap:4px;
  font-size:11.5px;color:var(--text3);font-weight:500;
}
.card-foot{
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;
  margin-top:auto;padding-top:10px;
}
.price-pill{
  display:inline-flex;align-items:baseline;gap:3px;
  padding:5px 11px;border-radius:50px;
  background:var(--surface);
  border:1px solid var(--border);
  font-family:var(--font-display);
  font-size:14px;font-weight:800;
}
.pp-item   {color:var(--text)}
.pp-job    {color:var(--text)}
.pp-free   {color:var(--text);font-family:var(--font-body);font-size:12px;font-weight:600}
.pp-lost   {background:#FEF3C7;color:#B45309;font-family:var(--font-body);font-size:12px;font-weight:700}
.pp-found  {background:#ECFDF5;color:#059669;font-family:var(--font-body);font-size:12px;font-weight:700}
.price-pill .price-suffix{font-size:inherit;font-weight:inherit;opacity:.92}

.c-arrow{
  width:30px;height:30px;border-radius:50%;
  background:var(--blue-soft);color:var(--blue);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;
  transition:all .2s var(--spring);flex-shrink:0;
}
.card:hover .c-arrow{background:var(--blue);color:#fff;transform:translateX(2px)}

.similar-section{margin-top:40px}
.section-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.section-title{
  font-family:var(--font-display);
  font-size:21px;font-weight:800;color:var(--text);
}
.section-link{
  font-size:13px;font-weight:600;color:var(--blue);
  display:flex;align-items:center;gap:4px;
  transition:gap .2s;
}
.section-link:hover{gap:7px}

.pagination{
  display:flex;align-items:center;justify-content:center;
  gap:6px;margin-top:28px;
}
.lm-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:28px}
.btn-more{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:220px;padding:14px 22px;border-radius:999px;
  border:1px solid var(--border);
  background:var(--surface);color:var(--text);
  font-family:var(--font-display);font-size:14px;font-weight:700;
  box-shadow:var(--shadow-sm);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease);
}
.btn-more:hover:not([disabled]){
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
  border-color:var(--blue);
  color:var(--blue);
}
.btn-more[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none}
.pg-btn{
  min-width:38px;height:38px;padding:0 12px;
  border-radius:50px;
  border:1.5px solid var(--border);
  background:var(--surface);
  font-family:var(--font-body);font-size:13px;font-weight:600;
  color:var(--text2);
  transition:all .2s var(--ease);
  cursor:pointer;
}
.pg-btn:hover:not([disabled]){border-color:var(--blue);color:var(--blue);background:var(--blue-soft);transform:translateY(-1px)}
.pg-btn.pg-active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 4px 14px var(--blue-glow)}
.pg-btn[disabled]{opacity:.35;cursor:not-allowed}
.pg-arrow{display:inline-flex;align-items:center;gap:8px;padding:0 16px;min-width:auto}
.pg-arr{
  width:24px;height:24px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--bg2);color:inherit;font-size:14px;line-height:1;
}
.pg-label{white-space:nowrap}

.grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
}
@media(max-width:1300px){.grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px) {.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px) {.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes cardIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.reveal.vis{opacity:1;transform:translateY(0)}

.toast{
  position:fixed;bottom:28px;left:50%;
  transform:translateX(-50%) translateY(80px);
  background:rgba(255,255,255,.96);
  color:#0F172A;
  border:1px solid rgba(15,23,42,.08);
  padding:11px 24px;border-radius:50px;
  font-size:13px;font-weight:600;
  box-shadow:0 14px 34px rgba(15,23,42,.14);z-index:9999;
  transition:transform .35s var(--spring);
  white-space:nowrap;pointer-events:none;
}
[data-theme="dark"] .toast{
  background:rgba(15,23,42,.94);
  color:#fff;
  border-color:rgba(255,255,255,.08);
  box-shadow:0 14px 34px rgba(0,0,0,.32);
}
.toast.show{transform:translateX(-50%) translateY(0)}

@media(max-width:1000px){
  .detail-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .detail-right{position:static}
}
@media(max-width:860px){
  .main{padding:20px 20px 60px}
  .breadcrumb-wrap{padding:14px 20px 0}

  .desc-card{
    padding:20px;
  }

  .cc-title{
    font-size:17px;
  }

  .grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:580px){
  .main{padding:18px 16px 56px}
  .breadcrumb-wrap{padding:14px 16px 0}

  .breadcrumb-wrap{
    flex-wrap:wrap;
  }

  .gallery-main{
    aspect-ratio:4/3;
  }

  .gal-arrow{
    opacity:1;
    width:34px;
    height:34px;
  }

  .gal-prev{left:8px}
  .gal-next{right:8px}

  .gal-view,
  .gal-counter,
  .t-badge{
    font-size:10px;
  }

  .gal-open{
    left:10px;
    bottom:10px;
    width:40px;
    height:40px;
    border-radius:14px;
  }

  .gallery-thumbs{
    gap:6px;
    padding:10px;
    flex-wrap:wrap;
  }

  .image-viewer-dialog{
    width:100%;
    height:100%;
  }

  .image-viewer-img{
    max-width:100%;
    max-height:92vh;
  }

  .image-viewer-nav{
    width:44px;
    height:44px;
    font-size:28px;
  }

  .image-viewer-prev{
    left:18px;
  }

  .image-viewer-next{
    right:18px;
  }

  .thumb{
    width:64px;
    height:48px;
  }

  .btn-call,
  .btn-tg,
  .btn-ig,
  .btn-loc{
    padding:12px 16px;
  }

  .btn-call span,.btn-tg span,.btn-ig span,.btn-loc span{
    white-space:normal;
    text-align:center;
  }

  .desc-card{
    padding:18px 16px;
  }

  .cc-top,
  .cc-price-wrap,
  .cc-actions{
    padding-left:16px;
    padding-right:16px;
  }

  .cc-price{
    font-size:22px;
  }

  .section-head{
    align-items:flex-start;
  }

  .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .card-foot{
    flex-wrap:wrap;
  }

  .save-btn{
    opacity:1;
    transform:none;
  }
}
