/* =========================================================
   PAYLANCE — карточка товара во всплывающем окне (shop + catalog)
   Графит + натуральный титан, статусы — зелёный Apple
   ========================================================= */
.pl-modal { position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center; padding:24px; font-family:inherit; }
.pl-modal[hidden] { display:none; }
.pl-modal__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.5); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.pl-modal__sheet { position:relative; width:100%; max-width:960px; max-height:calc(100vh - 48px); overflow:auto; background:#fff; border-radius:24px; box-shadow:0 40px 100px -20px rgba(0,0,0,.45); display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
.pl-modal__close { position:absolute; top:14px; right:14px; z-index:10; width:36px; height:36px; border-radius:50%; border:1px solid #e0e0e5; background:#fff; color:#1d1d1f; font-size:14px; cursor:pointer; display:grid; place-items:center; }
.pl-modal__close:hover { background:#f5f5f7; }

/* фото: целиком, без обрезки */
.pl-modal__cover { position:relative; min-height:460px; height:auto; background:#f2f2f5; border-radius:24px 0 0 24px; overflow:hidden; display:grid; place-items:center; font-size:72px; }
.pl-modal__cover img { position:absolute; inset:0; width:100% !important; height:100% !important; object-fit:contain !important; padding:24px; box-sizing:border-box; }
.pl-modal__cover-icon { color:#8e8e93; }
.pl-modal__escrow-badge { position:absolute; left:16px; bottom:16px; display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 11px; border-radius:980px; background:#fff; color:#248a3d; font-size:12px; font-weight:600; box-shadow:0 1px 4px rgba(0,0,0,.12); }

/* правая колонка */
.pl-modal__body { padding:32px 32px 28px; display:flex; flex-direction:column; gap:14px; color:#1d1d1f; }
.pl-modal__tags { display:flex; gap:6px; flex-wrap:wrap; order:1; }
.pl-modal__tags .lst__tag { display:inline-flex; align-items:center; height:24px; padding:0 9px; border-radius:7px; background:#1d1d1f; color:#fff; font-size:12px; font-weight:700; letter-spacing:.3px; }
.pl-modal__tags .lst__tag--service { background:#f1ede6; color:#6f6657; }
.pl-modal__tags .lst__tag--b2b { background:#f1ede6; color:#6f6657; }
.pl-modal__title { order:2; margin:0; padding-right:36px; font-size:26px; line-height:1.2; font-weight:700; letter-spacing:-.5px; }
.pl-modal__meta { order:3; display:flex; align-items:center; gap:8px; font-size:14px; color:#6e6e73; }
.pl-modal__meta-dot { width:3px; height:3px; border-radius:50%; background:#aeaeb2; }
.pl-modal__price-row { order:4; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; padding:14px 0 2px; border-top:1px solid #f0f0f3; font-variant-numeric:tabular-nums; }
.pl-modal__price { font-size:32px; font-weight:700; letter-spacing:-.6px; }
.pl-modal__old-price { font-size:16px; color:#8e8e93; text-decoration:line-through; }
.pl-modal__tradein { order:5; display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border-radius:14px; background:#f1ede6; color:#6f6657; font-size:13px; line-height:1.4; }
.pl-modal__tradein b { color:#1d1d1f; }

/* кнопки */
.pl-modal__actions { order:6; display:grid; grid-template-columns:1fr auto; gap:10px; }
.pl-modal__cta-primary, .pl-modal__cta-ghost { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:50px; padding:0 22px; border-radius:980px; font-size:16px; font-weight:600; text-decoration:none; white-space:nowrap; transition:background .15s, border-color .15s; }
.pl-modal__cta-primary { background:#1d1d1f; color:#fff !important; }
.pl-modal__cta-primary:hover { background:#000; }
.pl-modal__cta-ghost { background:#fff; color:#1d1d1f !important; border:1px solid #d2d2d7; }
.pl-modal__cta-ghost:hover { border-color:#1d1d1f; }
.pl-modal__body::after { order:7; content:"Деньги у Paylance до вашего подтверждения — продавец получит их, когда вы примете товар."; font-size:13px; line-height:1.45; color:#248a3d; padding:10px 12px; border-radius:12px; background:#e8f7ec; }

/* продавец */
.pl-modal__shop-row { order:8; display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px 14px; border:1px solid #e0e0e5; border-radius:16px; color:inherit; text-decoration:none; transition:border-color .15s; }
.pl-modal__shop-row:hover { border-color:#c7c7cc; }
.pl-modal__shop-av { width:44px; height:44px; border-radius:12px; background:#1d1d1f; color:#fff; display:grid; place-items:center; font-size:15px; font-weight:700; }
.pl-modal__shop-av--factory { background:#6f6657; }
.pl-modal__shop-info { min-width:0; }
.pl-modal__shop-name { font-size:15px; font-weight:700; }
.pl-modal__shop-desc { font-size:12px; color:#6e6e73; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pl-modal__shop-rating { display:inline-flex; align-items:center; gap:4px; font-size:14px; font-weight:700; }
.pl-modal__shop-rating svg { color:#d49a2a; }

@media (max-width:760px) {
  .pl-modal { padding:0; align-items:flex-end; }
  .pl-modal__sheet { grid-template-columns:1fr; max-height:92vh; border-radius:22px 22px 0 0; }
  .pl-modal__cover { min-height:0; aspect-ratio:4/3; border-radius:22px 22px 0 0; }
  .pl-modal__body { padding:20px 18px 28px; gap:12px; }
  .pl-modal__title { font-size:21px; }
  .pl-modal__price { font-size:26px; }
}
