/* Market Helper — shared modern UI polish layer v4
   Visual-only layer: no bridge/API/state behavior is changed here. */
:root{
  --mh-glass:rgba(12,17,32,.78);
  --mh-glass-2:rgba(17,23,41,.86);
  --mh-shadow:0 18px 48px rgba(0,0,0,.34);
  --mh-shadow-soft:0 10px 28px rgba(0,0,0,.22);
  --mh-radius:16px;
  --mh-radius-sm:11px;
  --mh-ring:0 0 0 1px rgba(255,255,255,.018) inset;
}

/* ---------- shared shell ---------- */
body{
  background:
    radial-gradient(900px 540px at -8% -14%, rgba(47,230,217,.10), transparent 60%),
    radial-gradient(760px 520px at 108% -8%, rgba(139,123,255,.10), transparent 60%),
    radial-gradient(720px 420px at 50% 108%, rgba(255,79,163,.045), transparent 66%),
    var(--bg);
}
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 18%);
}
.topbar{
  border-bottom-color:rgba(255,255,255,.06)!important;
  box-shadow:0 8px 26px rgba(0,0,0,.16);
}
.topbar,.mh-title{
  backdrop-filter:blur(18px);
}
.main,#page{position:relative}

/* ---------- buttons / controls ---------- */
.btn,.filter-btn,.clear-btn,.modal-close,.item-tag-btn,.filter-chip,.seg button{
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease;
}
.btn:hover:not(:disabled),.filter-btn:hover,.modal-close:hover,.item-tag-btn:hover,.filter-chip:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.btn.primary{
  box-shadow:0 8px 22px rgba(139,123,255,.16),var(--mh-ring);
}
.input-field,.search-wrap .input-field,.select-wrap select.input-field{
  border-color:rgba(255,255,255,.075)!important;
  background:linear-gradient(180deg,rgba(17,23,41,.94),rgba(10,14,27,.94))!important;
  box-shadow:var(--mh-ring);
}
.input-field:focus{
  box-shadow:0 0 0 3px rgba(47,230,217,.08),0 8px 22px rgba(0,0,0,.16)!important;
}
.toolbar{
  padding:7px;
  border:1px solid rgba(255,255,255,.045);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(11,16,30,.70),rgba(8,12,23,.46));
}

/* ---------- generic cards ---------- */
.card,.shop-card,.listing-card,.opt-card,.cloud-card,.piar-template-card,.timer-card,.filters-panel,.rtg-toolbar,.sell-col,.sell-status{
  background:
    linear-gradient(180deg,rgba(17,23,41,.92),rgba(9,13,25,.94))!important;
  border-color:rgba(255,255,255,.065)!important;
  box-shadow:var(--mh-shadow-soft),var(--mh-ring);
}
.card,.shop-card,.listing-card,.opt-card,.cloud-card,.piar-template-card,.timer-card,.filters-panel,.sell-col,.sell-status{
  border-radius:var(--mh-radius)!important;
}
.card::before,.shop-card::before,.listing-card::before,.opt-card::before,.cloud-card::before,.piar-template-card::before,.timer-card::before{
  content:'';position:absolute;left:14px;right:14px;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(47,230,217,.30),rgba(139,123,255,.28),transparent);
  opacity:.75;
}
.card:hover,.shop-card:hover,.listing-card:hover,.opt-card:hover,.cloud-card:hover,.piar-template-card:hover,.timer-card:hover{
  border-color:rgba(139,123,255,.20)!important;
}
.section-title{
  margin-left:1px!important;
  text-shadow:0 1px 14px rgba(0,0,0,.35);
}
.section-title svg{filter:drop-shadow(0 0 5px currentColor)}

/* ---------- compact status / badge language ---------- */
.count-badge,.server-badge,.status-badge,.active-badge,.upd-pill,.pill,.chip,.tag,.filter-chip{
  box-shadow:0 0 0 1px rgba(255,255,255,.02) inset;
}
.server-badge{
  border-radius:999px!important;
  padding:4px 9px!important;
  background:rgba(47,230,217,.065)!important;
  border-color:rgba(47,230,217,.18)!important;
  color:var(--cyan)!important;
  letter-spacing:.02em;
}
.server-badge.mismatch{
  background:rgba(255,182,72,.07)!important;
  border-color:rgba(255,182,72,.22)!important;
  color:var(--amber)!important;
}

/* ---------- product card / item modal: shared visual system ---------- */
.modal-backdrop{
  background:rgba(1,4,10,.76)!important;
  backdrop-filter:blur(7px);
}
.modal-box{
  position:relative;
  background:
    radial-gradient(430px 180px at 8% 0%,rgba(47,230,217,.055),transparent 70%),
    radial-gradient(430px 180px at 92% 0%,rgba(139,123,255,.07),transparent 70%),
    linear-gradient(180deg,rgba(18,24,43,.98),rgba(8,12,24,.985))!important;
  border:1px solid rgba(255,255,255,.085)!important;
  border-radius:20px!important;
  box-shadow:0 26px 80px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.02) inset!important;
}
.modal-h{
  position:sticky;top:0;z-index:5;
  padding:2px 2px 11px!important;margin-bottom:10px!important;
  background:linear-gradient(180deg,rgba(18,24,43,.98) 72%,rgba(18,24,43,.78),transparent);
}
.item-modal-head{gap:11px!important}
.item-modal-icon,.item-modal-icon-ph{
  border-radius:13px!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.22),0 0 0 1px rgba(139,123,255,.10) inset,0 0 24px rgba(139,123,255,.09);
}
.item-modal-cat{
  display:flex;align-items:center;gap:5px;
  letter-spacing:.11em!important;
  color:var(--cyan)!important;
}
.item-modal-cat .upd{color:var(--text-faint)}
.item-modal-name{
  font-size:clamp(15px,3vw,19px)!important;
  letter-spacing:-.025em;
  margin-top:2px;
}
.item-modal-actions{gap:6px!important}
.item-tag-btn,.modal-close{
  border-radius:10px!important;
  width:31px;height:31px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.028)!important;
  border-color:rgba(255,255,255,.075)!important;
}
.item-tag-btn.active.watch{box-shadow:0 0 0 1px rgba(106,207,255,.25) inset,0 0 18px rgba(106,207,255,.10)}
.item-tag-btn.active.fav{box-shadow:0 0 0 1px rgba(255,182,72,.25) inset,0 0 18px rgba(255,182,72,.10)}
.modal-close{font-size:14px!important}
.item-modal-desc{
  padding:11px 12px!important;
  margin:8px 0 10px!important;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.055);
  background:rgba(255,255,255,.018);
}
.mh-subhead{
  margin:12px 0 7px!important;
  padding:0 2px;
  font-size:9px!important;
  letter-spacing:.10em;
  color:var(--text-faint)!important;
}
.mh-subhead svg{filter:drop-shadow(0 0 5px currentColor)}
.offers-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:5px!important;
}
.offers-grid .offers-col{
  background:linear-gradient(180deg,rgba(5,8,16,.72),rgba(9,13,25,.88))!important;
  border-color:rgba(255,255,255,.065)!important;
  border-radius:13px!important;
  padding:9px!important;
  min-height:82px!important;
  height:auto!important;
  max-height:132px!important;
}
.offers-col-h{display:flex;align-items:center;gap:6px;white-space:nowrap}.offers-col-h::before{content:'';width:20px;height:20px;border-radius:7px;display:inline-grid;place-items:center;flex:0 0 auto;background:rgba(255,255,255,.028);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}.offers-col-h.sell::before{content:'↗';color:var(--cyan);font:900 11px/1 var(--mono);background:rgba(47,230,217,.06);border-color:rgba(47,230,217,.15)}.offers-col-h.buy::before{content:'↙';color:var(--amber);font:900 11px/1 var(--mono);background:rgba(255,182,72,.06);border-color:rgba(255,182,72,.15)}.offers-col-h::after{content:'';margin-left:auto;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.75;box-shadow:0 0 8px currentColor}
.offers-col-h{
  padding-bottom:5px;
  margin-bottom:4px!important;
  border-bottom:1px solid rgba(255,255,255,.045);
  font-size:8px!important;
  letter-spacing:.08em!important;
}
.offer-row{
  min-height:27px;
  padding:5px 3px!important;
  border-radius:8px;
  transition:background .16s ease;
}
.offer-row:hover{background:rgba(255,255,255,.025)}
.offer-row .owner{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.offer-row .price{font-size:10px!important}
.period-table{
  margin:11px 0 6px!important;
  border-collapse:separate!important;
  border-spacing:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.055);
  border-radius:13px;
  background:rgba(255,255,255,.012);
}
.period-table th{padding:8px 8px 6px!important}
.period-table td{padding:8px 8px!important;border-top:1px solid rgba(255,255,255,.045)!important}
.period-table tbody tr:first-child td{border-top:1px solid rgba(255,255,255,.045)!important}
.period-table td.num{font-size:9.5px}
.period-table td.label{gap:6px!important}
.period-table td.label .sw{width:7px!important;height:7px!important;border-radius:50%!important}
.chart-legend{
  gap:6px!important;
  padding:3px 2px 7px;
}
.chart-legend .li{
  padding:4px 7px;
  border:1px solid rgba(255,255,255,.05);
  background:rgba(255,255,255,.015);
  border-radius:999px;
  font-size:8px!important;
}
.chart-wrap{
  border-radius:15px!important;
  padding:10px 7px!important;
  border-color:rgba(255,255,255,.065)!important;
  background:
    linear-gradient(180deg,rgba(6,10,20,.90),rgba(11,15,28,.74))!important;
  box-shadow:0 10px 26px rgba(0,0,0,.20),0 0 0 1px rgba(255,255,255,.02) inset;
}
.chart-tip{border-radius:10px!important;box-shadow:0 12px 30px rgba(0,0,0,.35)!important}
.chart-empty{
  margin-top:8px;
  padding:26px 14px!important;
  border-radius:14px;
  border:1px dashed rgba(255,255,255,.08);
  background:rgba(255,255,255,.012);
}

/* ---------- shop / item mini cards ---------- */
.shop-card-head{padding:11px 12px!important}
.shop-card-icon{
  border-radius:12px!important;
  box-shadow:0 9px 22px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.04) inset!important;
}
.item-grid{gap:7px!important}
.item-chip{
  position:relative;
  border-radius:12px!important;
  border-color:rgba(255,255,255,.055)!important;
  background:linear-gradient(180deg,rgba(17,23,41,.82),rgba(7,11,21,.82))!important;
  box-shadow:0 6px 16px rgba(0,0,0,.14);
}
.item-chip:hover{
  border-color:rgba(47,230,217,.25)!important;
  background:linear-gradient(180deg,rgba(19,27,47,.90),rgba(8,13,25,.90))!important;
  box-shadow:0 10px 24px rgba(0,0,0,.20),0 0 0 1px rgba(47,230,217,.045) inset;
}
.item-chip-icon,.item-chip-icon-ph{
  border-radius:10px!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.05) inset;
}
.item-chip-name{font-weight:700!important}
.item-chip-price{font-size:10px!important}

/* ---------- listings / announcement cards ---------- */
.listing-card-head{padding:10px 11px!important}
.listing-card-icon{
  border-radius:12px!important;
  box-shadow:0 8px 20px rgba(0,0,0,.2),0 0 0 1px rgba(255,255,255,.04) inset;
}
.listing-card-meta{gap:6px!important}
.listing-card-hero{border-radius:11px!important}

/* ---------- empty states / skeletons ---------- */
.no-data{
  padding:30px 14px!important;
  border-radius:14px;
  background:rgba(255,255,255,.012);
}
.skel-card{border-color:rgba(255,255,255,.055)!important;box-shadow:var(--mh-shadow-soft)}

/* ---------- tables and rows ---------- */
table:not(.period-table){border-color:rgba(255,255,255,.055)}
table:not(.period-table) thead{background:rgba(255,255,255,.018)}
table:not(.period-table) th{color:var(--text-faint)}
tbody tr{transition:background .14s ease}
tbody tr:hover{background:rgba(255,255,255,.015)}

/* ---------- special: autos / ratings / collection / tools ---------- */
.stat-card,.stat-grid>*,.stat,.metric,.info-card,.cloud-card-meta,.cloud-card-actions,
.autoprice-card,.pick-filters,.pick-filters-cols>*,.rtg-toolbar,.filters-panel{
  border-radius:13px;
}
.status-line{
  padding:7px 9px!important;
  border-radius:11px!important;
  border:1px solid rgba(255,255,255,.05);
  background:rgba(255,255,255,.012);
}

/* ---------- modern toast ---------- */
.toast{
  border:1px solid rgba(255,255,255,.08)!important;
  background:rgba(9,13,25,.93)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.38)!important;
  backdrop-filter:blur(16px);
}

/* ---------- responsive product modal ---------- */
@media(max-width:560px){
  .modal-box{border-radius:18px!important}
  .offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .offers-grid .offers-col{max-height:115px!important}
  .item-modal-name{font-size:14px!important}
  .period-table th,.period-table td{padding:7px 6px!important}
  .toolbar{padding:6px}
}


/* ================================================================
   v2.1 — compact product modal
   Не растягиваем карточку: шапка + сервер в одну строку, минимум
   вертикальных промежутков, две колонки предложений сохраняются.
   ================================================================ */
.item-modal-copy{min-width:0;flex:1}
.item-modal-name-row{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}
.item-modal-name-row .item-modal-name{min-width:0;max-width:100%;line-height:1.1!important}
.item-modal-server-slot{display:inline-flex;align-items:center;min-width:0;flex:0 0 auto}
.item-modal-server-slot .server-badge{margin:0!important;padding:3px 7px!important;font-size:7.5px!important;line-height:1.1;border-radius:7px!important;white-space:nowrap}
.item-modal-server-slot .server-badge.mismatch{max-width:180px;overflow:hidden;text-overflow:ellipsis}

/* Шапка карточки — плотнее и без пустой полосы под ней. */
.item-modal-box{padding:10px 10px calc(11px + var(--safe-b))!important}
.item-modal-box .modal-h{padding:0 1px 6px!important;margin-bottom:4px!important}
.item-modal-box .item-modal-head{gap:8px!important}
.item-modal-box .item-modal-icon,
.item-modal-box .item-modal-icon-ph{width:31px;height:31px;border-radius:10px!important}
.item-modal-box .item-modal-cat{font-size:7px!important;margin-bottom:0!important}
.item-modal-box .item-modal-cat .upd{font-size:7px!important}
.item-modal-box .item-modal-name{font-size:13.5px!important;letter-spacing:-.015em!important}
.item-modal-box .item-modal-actions{gap:4px!important}
.item-modal-box .item-tag-btn,
.item-modal-box .modal-close{width:28px!important;height:28px!important;border-radius:9px!important}
.item-modal-box .item-modal-desc{margin:4px 0 6px!important;padding:7px 9px!important;font-size:9px!important;line-height:1.3!important}
.item-modal-box .mh-subhead{margin:7px 0 4px!important;font-size:7.5px!important}
.item-modal-box .offers-grid{gap:6px!important;margin-top:3px!important}
.item-modal-box .offers-grid .offers-col{padding:7px!important;min-height:64px!important;max-height:106px!important;border-radius:11px!important}
.item-modal-box .offers-col-h{font-size:7px!important;padding-bottom:4px!important;margin-bottom:2px!important}
.item-modal-box .offers-col-h::before{width:17px;height:17px;border-radius:6px;font-size:9px}
.item-modal-box .offer-row{min-height:24px!important;padding:3px 2px!important;font-size:8.5px!important}
.item-modal-box .offer-row .price{font-size:9px!important}
.item-modal-box .period-table{margin:6px 0 4px!important;font-size:8.5px!important}
.item-modal-box .period-table th{padding:5px 6px 4px!important;font-size:6.5px!important}
.item-modal-box .period-table td{padding:5px 6px!important}
.item-modal-box .chart-legend{padding:2px 2px 5px!important}
.item-modal-box .chart-wrap{padding:4px!important;margin-bottom:4px!important;border-radius:9px!important}

/* Старые движки WebView без :has получают те же компактные размеры через
   прямые классы, которые есть на элементах карточки. */
.item-modal-head{gap:8px!important}
.item-modal-name{font-size:13.5px!important}
.item-modal-desc{margin:4px 0 6px!important;padding:7px 9px!important}


/* MH v4: modal sizing is intentionally wider than v3 so 80% WebView zoom does not make dialogs tiny. */
@media(min-width:640px){
  .item-modal-box{max-width:min(840px,82vw)!important;}
}
@media(max-width:639px){
  .item-modal-box{width:min(720px,94vw)!important;}
}


/* ================================================================
   MH v5 FINAL — compact + wide product cards for embedded WebView
   One component, same geometry on every page that opens an item modal.
   ================================================================ */
.item-modal-box{
  width:min(960px,92vw)!important;
  max-width:960px!important;
  max-height:min(88vh,820px)!important;
  padding:9px 11px calc(9px + var(--safe-b))!important;
  border-radius:17px!important;
  overflow-x:hidden!important;
}
.item-modal-box .modal-h{
  padding:0 1px 5px!important;
  margin:0 0 4px!important;
  min-height:36px;
}
.item-modal-box .item-modal-head{gap:8px!important;align-items:center!important;min-width:0}
.item-modal-box .item-modal-copy{min-width:0;flex:1}
.item-modal-box .item-modal-icon,.item-modal-box .item-modal-icon-ph{width:36px!important;height:36px!important;border-radius:10px!important}
.item-modal-box .item-modal-cat{font-size:7px!important;line-height:1.1!important}
.item-modal-box .item-modal-name-row{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.item-modal-box .item-modal-name{font-size:14px!important;line-height:1.05!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item-modal-box .item-modal-server-slot{display:inline-flex;align-items:center;min-width:0;flex:0 0 auto}
.item-modal-box .item-modal-server-slot .server-badge{margin:0!important;padding:3px 7px!important;font-size:7px!important;line-height:1.05!important;border-radius:7px!important;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}
.item-modal-box .item-modal-actions{gap:4px!important;flex:0 0 auto}
.item-modal-box .item-tag-btn,.item-modal-box .modal-close{width:28px!important;height:28px!important;border-radius:8px!important}
.item-modal-box #itemModalBody{margin:0!important;padding:0!important}
.item-modal-box .item-modal-desc{margin:2px 0 5px!important;padding:6px 8px!important;border-radius:9px!important;font-size:8px!important;line-height:1.25!important}
.item-modal-box .mh-subhead{margin:5px 0 3px!important;padding:0 1px!important;font-size:7px!important;line-height:1.1!important}
.item-modal-box .offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin:0!important}
.item-modal-box .offers-grid .offers-col{min-width:0!important;height:auto!important;min-height:0!important;max-height:142px!important;overflow-y:auto!important;padding:6px 7px!important;border-radius:10px!important}
.item-modal-box .offers-col-h{font-size:7px!important;padding-bottom:4px!important;margin-bottom:1px!important;position:sticky;top:-6px;background:linear-gradient(180deg,rgba(5,8,16,.98),rgba(5,8,16,.90));z-index:2}
.item-modal-box .offers-col-h::before{width:16px!important;height:16px!important;border-radius:5px!important;font-size:8px!important}
.item-modal-box .offer-row{min-height:22px!important;padding:3px 2px!important;font-size:8px!important;gap:6px!important}
.item-modal-box .offer-row .owner{font-size:8px!important}
.item-modal-box .offer-row .price{font-size:8.5px!important;white-space:nowrap}
.item-modal-box .offers-empty{padding:8px 4px!important;font-size:7px!important}
.item-modal-box .period-table{margin:5px 0 3px!important;width:100%!important;font-size:8px!important}
.item-modal-box .period-table th{padding:4px 5px!important;font-size:6.5px!important}
.item-modal-box .period-table td{padding:4px 5px!important}
.item-modal-box .chart-legend{gap:4px!important;padding:2px 1px 4px!important}
.item-modal-box .chart-legend .li{padding:3px 6px!important;font-size:7px!important}
.item-modal-box .chart-wrap{padding:3px!important;margin:0!important;border-radius:10px!important;min-height:0!important}
.item-modal-box .chart-empty{margin:4px 0 0!important;padding:16px 10px!important;border-radius:10px!important;font-size:8px!important}

@media(min-width:700px){
  .item-modal-box{width:min(960px,92vw)!important}
}
@media(max-width:699px){
  .item-modal-box{width:min(96vw,760px)!important;border-radius:15px!important}
  .item-modal-box .item-modal-name{font-size:13px!important}
}

/* MH CARD ADAPTIVE v6 — shared product-card geometry on every page. */
.item-modal-box{
  width:min(1040px,94vw)!important;
  max-width:1040px!important;
  max-height:min(90vh,840px)!important;
  padding:5px 12px calc(8px + var(--safe-b))!important;
}
.item-modal-box .modal-h{
  padding:0 1px 4px!important;
  margin:0 0 2px!important;
  min-height:0!important;
}
.item-modal-box .item-modal-head{gap:8px!important;align-items:center!important}
.item-modal-box .item-modal-icon,
.item-modal-box .item-modal-icon-ph{width:36px!important;height:36px!important}
.item-modal-box #itemModalBody{margin:0!important;padding:0!important}
.item-modal-box .item-modal-desc{
  margin:2px 0 5px!important;
  padding:6px 9px!important;
  max-height:64px!important;
  overflow-y:auto!important;
  font-size:8.5px!important;
  line-height:1.3!important;
}
.item-modal-box .offers-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important;
  margin:0!important;
  align-items:start!important;
}
.item-modal-box .offers-grid .offers-col{
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:142px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:6px 7px!important;
  box-sizing:border-box!important;
}
.item-modal-box .offers-col-h{
  min-height:16px!important;
  height:16px!important;
  max-height:16px!important;
  line-height:16px!important;
  padding-bottom:0!important;
  margin-bottom:2px!important;
  box-sizing:border-box!important;
}
.item-modal-box .offer-list{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.item-modal-box .offer-row{
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  padding:2px 2px!important;
  line-height:16px!important;
  box-sizing:border-box!important;
}
.item-modal-box .offers-empty{
  padding:5px 4px!important;
  min-height:0!important;
  font-size:7px!important;
  line-height:1.25!important;
}
/* Exact compact heights for 0/1/2/3 offers. 4 means 4+ and can scroll. */
.item-modal-box .offers-col.offers-count-0{height:48px!important;max-height:48px!important}
.item-modal-box .offers-col.offers-count-1{height:52px!important;max-height:52px!important}
.item-modal-box .offers-col.offers-count-2{height:72px!important;max-height:72px!important}
.item-modal-box .offers-col.offers-count-3{height:92px!important;max-height:92px!important}
.item-modal-box .offers-col.offers-count-4{height:112px!important;max-height:112px!important}

@media(min-width:700px){
  .item-modal-box{width:min(1040px,94vw)!important}
}
@media(max-width:699px){
  .item-modal-box{width:min(97vw,780px)!important;border-radius:15px!important}
  .item-modal-box .item-modal-name{font-size:13px!important}
}


/* MH v5.1.9 — description block: vertical space, not wider modal. */
.item-modal-box{
  width:min(960px,92vw)!important;
  max-width:960px!important;
}
.item-modal-box .item-modal-desc{
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:112px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  margin:2px 0 5px!important;
  padding:8px 9px!important;
  line-height:1.35!important;
}

/* MH v5.1.9 — description height tuning v2
   Keep one-line descriptions compact, but give multiline descriptions real vertical space. */
.item-modal-box .item-modal-desc{
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:180px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
  white-space:pre-line!important;
  overflow-wrap:anywhere!important;
  font-size:10px!important;
  line-height:1.45!important;
  margin:3px 0 6px!important;
  padding:9px 10px!important;
}


/* MH v5.1.9 CARD FINAL — compact description + remove top gap.
   User tuning: description is about half the modal width, smaller text;
   short descriptions remain compact; long descriptions can use up to ~10-12 lines.
*/
.item-modal-box{
  width:min(960px,92vw)!important;
  max-width:960px!important;
  padding:0 12px calc(8px + var(--safe-b))!important;
}
.item-modal-box .modal-h{
  padding:0 1px 3px!important;
  margin:-2px 0 1px!important;
  min-height:0!important;
  top:0!important;
}
.item-modal-box .item-modal-head{
  margin-top:0!important;
}
.item-modal-box .item-modal-desc{
  width:50%!important;
  max-width:50%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:180px!important;
  margin:2px 0 5px!important;
  padding:6px 8px!important;
  box-sizing:border-box!important;
  font-size:7px!important;
  line-height:1.35!important;
  white-space:pre-line!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:699px){
  .item-modal-box .item-modal-desc{
    width:70%!important;
    max-width:70%!important;
  }
}

/* MH v5.1.9 — FINAL DESCRIPTION HEIGHT TUNING
   Keep full width. Reduce the vertical footprint; short text stays compact. */
.item-modal-box{
  width:min(960px,92vw)!important;
  max-width:960px!important;
  padding:0 12px calc(8px + var(--safe-b))!important;
}
.item-modal-box .modal-h{
  padding:0 1px 2px!important;
  margin:-8px 0 1px!important;
  min-height:0!important;
  top:0!important;
}
.item-modal-box .item-modal-head{
  margin-top:0!important;
}
.item-modal-box .item-modal-desc{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:72px!important;
  margin:1px 0 4px!important;
  padding:5px 8px!important;
  box-sizing:border-box!important;
  font-size:7px!important;
  line-height:1.25!important;
  white-space:pre-line!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:699px){
  .item-modal-box .item-modal-desc{
    width:100%!important;
    max-width:100%!important;
  }
}

/* ---------- floating scroll-to-top for buy/sell ---------- */
.mh-scroll-top{
  position:fixed;
  right:14px;
  bottom:calc(14px + var(--safe-b, 0px));
  width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:rgba(10,15,28,.52);
  color:rgba(255,255,255,.82);
  box-shadow:0 8px 24px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.025) inset;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:120;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .18s ease,visibility .18s ease,transform .18s ease,background .18s ease;
}
.mh-scroll-top.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.mh-scroll-top:hover{background:rgba(18,26,46,.72);}
.mh-scroll-top:active{transform:translateY(1px) scale(.96);}
.mh-scroll-top svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
@media (max-width:600px){
  .mh-scroll-top{right:12px;width:36px;height:36px;}
}
