/* «Рядом» — на токенах дизайн-системы темы (assets/css/gk-ui.css). Отдельный визуальный код раздела: тёплый акцент --nb. */
.gk-nb { --nb: #0e9f6e; --nb-2: #0b8a5f; --nb-tint: #e8f7f0; padding-bottom: 24px; }
.gk-nb .gk-breadcrumbs { margin: 12px 0 4px; }

/* hero */
.gk-nb-hero { display: grid; gap: 18px; margin: 12px 0 18px; padding: 22px 20px; background: linear-gradient(180deg, var(--nb-tint), #fff 90%); border: 1px solid var(--line); border-radius: var(--r-xl); }
@media (min-width: 900px) { .gk-nb-hero { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; padding: 28px 32px; } }
.gk-nb-kicker { margin: 0 0 6px; font-size: 13px; font-weight: 600; color: var(--nb); }
.gk-nb-hero h1 { font-size: clamp(24px, 3vw, 34px); font-weight: 800; letter-spacing: -0.02em; margin: 0 0 8px; line-height: 1.12; }
.gk-nb-sub { margin: 0 0 14px; color: var(--muted); font-size: 15px; max-width: 60ch; }
.gk-nb-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.gk-nb-zhk-btn { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px; border: 1.5px solid var(--line-2); border-radius: var(--r-m); background: #fff; font: 600 15px var(--font); color: var(--ink); cursor: pointer; max-width: 100%; }
.gk-nb-zhk-btn span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gk-nb-zhk-btn:hover { border-color: var(--nb); }
.gk-nb-zhk-btn .gk-i:first-child { color: var(--nb); }
.gk-nb .gk-btn--primary { background: var(--nb); } .gk-nb .gk-btn--primary:hover { background: var(--nb-2); }
.gk-nb-search { display: flex; align-items: center; height: 50px; background: #fff; border: 1.5px solid var(--line); border-radius: var(--r-m); padding-left: 14px; }
.gk-nb-search:focus-within { border-color: var(--nb); box-shadow: 0 0 0 4px rgba(14,159,110,.12); }
.gk-nb-search .gk-i { color: var(--faint); }
.gk-nb-search input { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; padding: 0 12px; font: 500 15px var(--font); outline: none; }
.gk-nb-search button { height: 38px; margin: 0 5px; padding: 0 16px; border: 0; border-radius: var(--r-s); background: var(--ink); color: #fff; font: 600 14px var(--font); cursor: pointer; }

/* chips */
.gk-nb-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; }
.gk-nb-chip { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 14px; font-weight: 500; color: var(--text); }
.gk-nb-chip.is-on { background: var(--ink); border-color: var(--ink); color: #fff; }
.gk-nb-more { position: relative; }
.gk-nb-more summary { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 14px; font-weight: 500; cursor: pointer; list-style: none; }
.gk-nb-more summary::-webkit-details-marker { display: none; }
.gk-nb-more > div { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; min-width: 220px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-m); box-shadow: var(--shadow-2); padding: 6px; display: flex; flex-direction: column; }
.gk-nb-more > div a { padding: 8px 10px; border-radius: var(--r-s); font-size: 14px; color: var(--text); }
.gk-nb-more > div a:hover { background: var(--tint); }
.gk-nb-sort { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); }
.gk-nb-sort select { height: 36px; border: 1px solid var(--line); border-radius: var(--r-s); padding: 0 30px 0 10px; font: 500 14px var(--font); background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right 10px center; appearance: none; }
@media (max-width: 639px) { .gk-nb-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; } .gk-nb-chips::-webkit-scrollbar { display: none; } .gk-nb-chip, .gk-nb-more { flex-shrink: 0; } .gk-nb-sort { flex-shrink: 0; margin-left: 4px; } .gk-nb-sort span { display: none; } }

/* grid & card */
.gk-nb-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 640px) { .gk-nb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } }
@media (min-width: 1024px) { .gk-nb-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } }
.gk-nb-card { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--r-l); overflow: hidden; color: var(--text); transition: box-shadow .18s, border-color .18s; }
.gk-nb-card:hover { box-shadow: var(--shadow-1); border-color: var(--line-2); }
.gk-nb-card-media { position: relative; display: block; aspect-ratio: 1; background: var(--page); overflow: hidden; }
.gk-nb-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.gk-nb-card:hover .gk-nb-card-media img { transform: scale(1.03); }
.gk-nb-nophoto { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--faint); }
.gk-nb-type { position: absolute; left: 10px; bottom: 10px; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; background: rgba(255,255,255,.95); color: var(--ink); }
.gk-nb-type--free { background: var(--nb); color: #fff; } .gk-nb-type--swap { background: var(--brass-tint); color: var(--brass); }
.gk-nb-count { position: absolute; right: 10px; bottom: 10px; padding: 2px 8px; border-radius: 999px; background: rgba(11,31,58,.7); color: #fff; font-size: 11px; font-weight: 600; }
.gk-nb-fav { position: absolute; top: 8px; right: 8px; z-index: 2; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line); background: rgba(255,255,255,.95); display: inline-flex; align-items: center; justify-content: center; color: var(--faint); cursor: pointer; }
.gk-nb-fav.is-on { color: var(--danger); } .gk-nb-fav.is-on .gk-i { fill: var(--danger); }
.gk-nb-card-body { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px 12px; }
.gk-nb-price { font-size: 17px; font-weight: 800; color: var(--ink); letter-spacing: -0.01em; }
.gk-nb-price b { font-weight: 800; }
.gk-nb-free { color: var(--nb); } .gk-nb-swap { color: var(--brass); } .gk-nb-swap-note { font-size: 12px; font-weight: 500; color: var(--muted); }
.gk-nb-title { font-size: 14px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gk-nb-meta { display: flex; flex-wrap: wrap; gap: 2px 8px; font-size: 12px; color: var(--muted); }
.gk-nb-meta span + span::before { content: '·'; margin-right: 8px; color: var(--faint); }
.gk-nb .pagination, .gk-nb .navigation.pagination { margin: 24px 0; }
.gk-nb .nav-links { display: flex; justify-content: center; gap: 6px; }
.gk-nb .nav-links .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--r-s); background: #fff; color: var(--text); font-weight: 500; }
.gk-nb .nav-links .page-numbers.current { background: var(--ink); color: #fff; border-color: var(--ink); }

.gk-nb-empty { text-align: center; padding: 48px 20px; background: #fff; border: 1px dashed var(--line-2); border-radius: var(--r-l); color: var(--muted); }
.gk-nb-empty .gk-i { color: var(--faint); margin-bottom: 8px; }
.gk-nb-empty h3 { color: var(--ink); font-size: 20px; margin: 0 0 6px; } .gk-nb-empty p { margin: 0 0 16px; }
.gk-nb-empty-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.gk-nb-how { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 40px 0 16px; }
@media (min-width: 640px) { .gk-nb-how { grid-template-columns: repeat(2, 1fr); } } @media (min-width: 1024px) { .gk-nb-how { grid-template-columns: repeat(4, 1fr); } }
.gk-nb-how > div { display: flex; flex-direction: column; gap: 6px; padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-l); }
.gk-nb-how .gk-i { color: var(--nb); } .gk-nb-how b { color: var(--ink); } .gk-nb-how span { font-size: 14px; color: var(--muted); }
.gk-nb-legal { font-size: 12px; color: var(--faint); margin: 12px 0 0; max-width: 90ch; } .gk-nb-legal a { color: var(--muted); text-decoration: underline; }

/* modal */
.gk-nb-modal { position: fixed; inset: 0; z-index: 500; display: flex; align-items: flex-end; justify-content: center; }
.gk-nb-modal[hidden] { display: none; }
.gk-nb-modal-backdrop { position: absolute; inset: 0; background: rgba(11,31,58,.45); }
.gk-nb-modal-card { position: relative; width: 100%; max-width: 560px; max-height: 92vh; overflow-y: auto; background: #fff; border-radius: var(--r-xl) var(--r-xl) 0 0; padding: 18px 18px calc(18px + env(safe-area-inset-bottom)); box-shadow: var(--shadow-2); }
@media (min-width: 640px) { .gk-nb-modal { align-items: center; padding: 20px; } .gk-nb-modal-card { border-radius: var(--r-xl); padding: 22px; } }
.gk-nb-modal-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.gk-nb-modal-head h3 { font-size: 20px; margin: 0; }
.gk-nb-modal-sub { margin: 0 0 12px; font-size: 14px; color: var(--muted); }
.gk-nb-zhk-filter { width: 100%; height: 44px; border: 1.5px solid var(--line); border-radius: var(--r-m); padding: 0 12px; font: 500 15px var(--font); margin-bottom: 10px; }
.gk-nb-zhk-list { display: flex; flex-direction: column; gap: 4px; max-height: 44vh; overflow-y: auto; }
.gk-nb-zhk-item { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border: 1px solid transparent; border-radius: var(--r-m); background: transparent; text-align: left; font: 500 15px var(--font); color: var(--text); cursor: pointer; }
.gk-nb-zhk-item:hover { background: var(--page); } .gk-nb-zhk-item.is-on { border-color: var(--nb); background: var(--nb-tint); }
.gk-nb-zhk-item .gk-i { color: var(--nb); } .gk-nb-zhk-item span { display: flex; flex-direction: column; } .gk-nb-zhk-item small { font-size: 12px; color: var(--muted); }
.gk-nb-zhk-request { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 10px; }
.gk-nb-zhk-request summary { cursor: pointer; font-size: 14px; color: var(--accent); font-weight: 600; }
.gk-nb-zhk-req-form { display: grid; gap: 8px; margin-top: 10px; } .gk-nb-zhk-req-form input { height: 42px; border: 1px solid var(--line-2); border-radius: var(--r-s); padding: 0 12px; font: 500 14px var(--font); }
.gk-nb-form-msg { margin: 6px 0 0; font-size: 14px; color: var(--muted); min-height: 1em; } .gk-nb-form-msg.is-err { color: var(--danger); } .gk-nb-form-msg.is-ok { color: var(--ok); }

/* single */
.gk-nb-notice { padding: 12px 16px; border-radius: var(--r-m); background: var(--tint); font-size: 14px; margin: 8px 0 16px; } .gk-nb-notice--warn { background: #fff7e6; }
.gk-nb-top { display: grid; gap: 20px; margin-bottom: 24px; }
@media (min-width: 900px) { .gk-nb-top { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 36px; align-items: start; } }
.gk-nb-stage { position: relative; aspect-ratio: 4 / 3; background: var(--page); border-radius: var(--r-xl); overflow: hidden; border: 1px solid var(--line); }
.gk-nb-stage img { width: 100%; height: 100%; object-fit: contain; display: block; background: #fff; }
.gk-nb-stage .gk-nb-type { left: 14px; bottom: 14px; font-size: 13px; padding: 5px 12px; }
.gk-nb-closed-tag { position: absolute; top: 14px; left: 14px; padding: 6px 12px; border-radius: 999px; background: rgba(11,31,58,.8); color: #fff; font-weight: 700; font-size: 13px; }
.gk-nb-thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; scrollbar-width: none; }
.gk-nb-thumbs button { flex: 0 0 68px; width: 68px; height: 68px; padding: 0; border: 2px solid var(--line); border-radius: var(--r-s); overflow: hidden; background: #fff; cursor: pointer; }
.gk-nb-thumbs button.is-on { border-color: var(--nb); } .gk-nb-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.gk-nb-badge-user { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--page); font-size: 12px; font-weight: 600; color: var(--muted); margin: 0 0 10px; }
.gk-nb-info h1 { font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; line-height: 1.15; margin: 0 0 10px; }
.gk-nb-price--big { font-size: 30px; margin-bottom: 8px; }
.gk-nb-swapfor { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; color: var(--brass); font-weight: 600; font-size: 15px; }
.gk-nb-facts { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 14px; color: var(--text); }
.gk-nb-facts li { display: inline-flex; align-items: center; gap: 6px; } .gk-nb-facts .gk-i { color: var(--muted); } .gk-nb-facts a { color: var(--accent); }
.gk-nb-contact-card, .gk-nb-owner { padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-l); margin-bottom: 14px; }
.gk-nb-seller { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.gk-nb-avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--nb-tint); color: var(--nb); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 18px; flex-shrink: 0; }
.gk-nb-seller div { display: flex; flex-direction: column; } .gk-nb-seller b { color: var(--ink); } .gk-nb-seller span { font-size: 13px; color: var(--muted); }
.gk-nb-wide { width: 100%; height: 48px; margin-top: 8px; }
.gk-nb-contact-form { display: grid; gap: 10px; margin-top: 12px; }
.gk-nb-contact-form label, .gk-nb-form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--muted); }
.gk-nb-contact-form input, .gk-nb-contact-form textarea, .gk-nb-form input[type=text], .gk-nb-form input[type=tel], .gk-nb-form textarea, .gk-nb-form select, .gk-nb-report-form textarea { height: 46px; border: 1.5px solid var(--line-2); border-radius: var(--r-s); padding: 0 12px; font: 500 15px var(--font); color: var(--text); background: #fff; }
.gk-nb-contact-form textarea, .gk-nb-form textarea, .gk-nb-report-form textarea { height: auto; padding: 10px 12px; resize: vertical; }
.gk-nb-contact-form input:focus, .gk-nb-form input:focus, .gk-nb-form textarea:focus, .gk-nb-form select:focus, .gk-nb-contact-form textarea:focus { outline: none; border-color: var(--nb); box-shadow: 0 0 0 3px rgba(14,159,110,.12); }
.gk-nb-contact-form small, .gk-nb-form small, .gk-nb-owner small { font-size: 12px; color: var(--muted); font-weight: 400; }
.gk-nb-hp { position: absolute; left: -9999px; }
.gk-nb-hint { font-size: 14px; color: var(--muted); } .gk-nb-hint a { color: var(--accent); }
.gk-nb-owner b { display: block; color: var(--ink); margin-bottom: 10px; }
.gk-nb-owner-actions, .gk-nb-myrow-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.gk-nb-owner-actions .gk-btn, .gk-nb-myrow-actions .gk-btn { height: 40px; padding: 0 14px; font-size: 14px; }
.gk-nb-danger { color: var(--danger) !important; border-color: var(--danger-tint) !important; }
.gk-nb-safety { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--muted); margin: 6px 0 10px; } .gk-nb-safety .gk-i { color: var(--nb); flex-shrink: 0; margin-top: 2px; } .gk-nb-safety a { color: var(--accent); }
.gk-nb-report-btn { display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; color: var(--muted); font: 500 13px var(--font); cursor: pointer; padding: 4px 0; }
.gk-nb-report-btn:hover { color: var(--danger); }
.gk-nb-desc { max-width: 76ch; margin-bottom: 24px; } .gk-nb-desc h2 { font-size: 20px; margin: 0 0 10px; } .gk-nb-desc div { font-size: 16px; line-height: 1.65; } .gk-nb-desc p { margin: 0 0 10px; }
.gk-nb-radio { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 15px; cursor: pointer; } .gk-nb-radio input { width: 18px; height: 18px; accent-color: var(--nb); }
.gk-nb-report-form { display: grid; gap: 4px; } .gk-nb-report-form label:not(.gk-nb-radio) { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--muted); font-weight: 600; margin-top: 10px; }

/* form (new/edit) */
.gk-nb-form-page .gk-page-title { margin-bottom: 4px; }
.gk-nb-form { max-width: 720px; display: grid; gap: 14px; margin-top: 16px; }
.gk-nb-fs { border: 1px solid var(--line); border-radius: var(--r-l); background: #fff; padding: 18px; margin: 0; display: grid; gap: 14px; }
.gk-nb-fs legend { padding: 0 6px; font-weight: 700; color: var(--ink); font-size: 16px; } .gk-nb-fs legend small { font-weight: 400; color: var(--muted); font-size: 13px; margin-left: 6px; }
.gk-nb-row { display: grid; gap: 14px; } @media (min-width: 640px) { .gk-nb-row { grid-template-columns: 1fr 1fr; } }
.gk-nb-label { font-size: 13px; font-weight: 600; color: var(--muted); display: block; margin-bottom: 8px; }
.gk-nb-seg { display: flex; flex-wrap: wrap; gap: 8px; }
.gk-nb-seg label { position: relative; cursor: pointer; }
.gk-nb-seg input { position: absolute; opacity: 0; pointer-events: none; }
.gk-nb-seg span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1.5px solid var(--line-2); border-radius: 999px; font-size: 14px; font-weight: 500; color: var(--text); background: #fff; }
.gk-nb-seg input:checked + span { border-color: var(--nb); background: var(--nb-tint); color: var(--nb-2); font-weight: 600; }
.gk-nb-seg input:focus-visible + span { outline: 2px solid var(--nb); outline-offset: 2px; }
.gk-nb-seg--col { flex-direction: column; } .gk-nb-seg--col span { border-radius: var(--r-m); width: 100%; padding: 10px 14px; }
.gk-nb-seg--type span { font-size: 15px; min-height: 46px; padding: 0 18px; }
.gk-nb-free-note { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--nb); font-weight: 600; font-size: 14px; }
.gk-nb-photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } @media (min-width: 640px) { .gk-nb-photos { grid-template-columns: repeat(4, 1fr); } }
.gk-nb-photo, .gk-nb-photo-add { position: relative; aspect-ratio: 1; border-radius: var(--r-m); overflow: hidden; background: var(--page); border: 1.5px dashed var(--line-2); }
.gk-nb-photo { border-style: solid; } .gk-nb-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gk-nb-photo:first-child::after { content: 'Главное'; position: absolute; left: 6px; bottom: 6px; padding: 2px 8px; border-radius: 999px; background: rgba(255,255,255,.95); font-size: 11px; font-weight: 700; color: var(--ink); }
.gk-nb-photo-del { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; border-radius: 50%; border: 0; background: rgba(255,255,255,.95); color: var(--danger); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.gk-nb-photo-add { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: var(--muted); font-size: 13px; font-weight: 600; cursor: pointer; }
.gk-nb-photo-add:hover { border-color: var(--nb); color: var(--nb); } .gk-nb-photo-add input { display: none; }
.gk-nb-field-hint { margin: 0; font-size: 13px; color: var(--muted); }
.gk-nb-submit { display: grid; gap: 12px; padding: 4px 0 8px; }
.gk-nb-agree { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--text); cursor: pointer; } .gk-nb-agree input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--nb); flex-shrink: 0; } .gk-nb-agree a { color: var(--accent); text-decoration: underline; }
.gk-nb-form .gk-btn--primary[disabled] { opacity: .6; cursor: wait; }

/* my */
.gk-nb-my-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; } .gk-nb-my-links { display: flex; gap: 10px; }
.gk-nb-tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--line); margin-bottom: 14px; overflow-x: auto; }
.gk-nb-tabs button { border: 0; background: transparent; padding: 10px 12px; font: 600 14px var(--font); color: var(--muted); border-bottom: 2px solid transparent; cursor: pointer; white-space: nowrap; }
.gk-nb-tabs button.is-on { color: var(--ink); border-bottom-color: var(--nb); } .gk-nb-tabs button span { color: var(--faint); margin-left: 4px; }
.gk-nb-myrow { display: grid; grid-template-columns: 72px 1fr; gap: 12px; padding: 14px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-l); margin-bottom: 10px; align-items: start; }
@media (min-width: 900px) { .gk-nb-myrow { grid-template-columns: 72px 1fr auto; align-items: center; } }
.gk-nb-myrow-img { width: 72px; height: 72px; border-radius: var(--r-s); overflow: hidden; background: var(--page); display: flex; align-items: center; justify-content: center; color: var(--faint); } .gk-nb-myrow-img img { width: 100%; height: 100%; object-fit: cover; }
.gk-nb-myrow-title { font-weight: 600; color: var(--ink); display: block; margin-bottom: 4px; }
.gk-nb-myrow-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 13px; color: var(--muted); align-items: baseline; } .gk-nb-myrow-meta .gk-nb-price { font-size: 15px; }
.gk-nb-myrow-actions { margin: 0; grid-column: 1 / -1; } @media (min-width: 900px) { .gk-nb-myrow-actions { grid-column: auto; } }
.gk-nb-link-danger { border: 0; background: transparent; color: var(--danger); font: 500 14px var(--font); cursor: pointer; padding: 0 6px; }

/* rules */
.gk-nb-rules-body { max-width: 76ch; font-size: 16px; line-height: 1.65; } .gk-nb-rules-body h2 { font-size: 20px; margin: 26px 0 8px; } .gk-nb-rules-body ul { margin: 0 0 12px 20px; } .gk-nb-rules-body li { margin: 0 0 6px; list-style: disc; } .gk-nb-rules-body p { margin: 0 0 12px; }

/* toast */
.gk-nb-toast { position: fixed; left: 50%; bottom: calc(var(--tabbar-h, 0px) + 20px); transform: translateX(-50%); z-index: 600; padding: 12px 18px; border-radius: var(--r-m); background: var(--ink); color: #fff; font-size: 14px; font-weight: 600; box-shadow: var(--shadow-2); max-width: calc(100vw - 32px); }
@media (min-width: 1024px) { .gk-nb-toast { bottom: 24px; } }

/* mobile: строка поиска не выходит за карточку hero */
.gk-nb-hero > * { min-width: 0; }
.gk-nb-search { overflow: hidden; }
@media (max-width: 479px) { .gk-nb-search button { padding: 0 12px; } .gk-nb-search input::placeholder { font-size: 14px; } }

/* 2026-09-07: подписка на ЖК, категории видимой строкой, поделиться, символическая цена, уведомления в «моих» */
.gk-nb-subscribe { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line, #e3e6eb); background: var(--surface, #fff); color: var(--ink, #0b1f3a); font: inherit; font-size: 14px; cursor: pointer; }
.gk-nb-subscribe.is-on { border-color: var(--accent, #2f6fed); color: var(--accent, #2f6fed); background: color-mix(in srgb, var(--accent, #2f6fed) 8%, #fff); }
.gk-nb-subscribe i { font-style: normal; color: var(--muted, #6b7280); font-size: 12px; }
.gk-nb-subscribe[disabled] { opacity: .6; }
.gk-nb-cats { display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 10px; margin: 4px 0 8px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.gk-nb-cats::-webkit-scrollbar { display: none; }
.gk-nb-cat { flex: 0 0 auto; padding: 8px 14px; border-radius: 10px; background: var(--surface, #fff); border: 1px solid var(--line, #e3e6eb); font-size: 14px; color: var(--ink, #0b1f3a); text-decoration: none; white-space: nowrap; }
.gk-nb-cat:hover { border-color: var(--accent, #2f6fed); color: var(--accent, #2f6fed); }
.gk-nb-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; font-size: 14px; color: var(--muted, #6b7280); }
.gk-nb-share a, .gk-nb-share button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; border: 1px solid var(--line, #e3e6eb); background: var(--surface, #fff); color: var(--ink, #0b1f3a); font: inherit; font-size: 14px; text-decoration: none; cursor: pointer; }
.gk-nb-share a:hover, .gk-nb-share button:hover { border-color: var(--accent, #2f6fed); color: var(--accent, #2f6fed); }
.gk-nb-quickprice { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; font-size: 13px; color: var(--muted, #6b7280); }
.gk-nb-quickprice button { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line, #e3e6eb); background: var(--surface, #fff); font: inherit; font-size: 13px; cursor: pointer; }
.gk-nb-quickprice button:hover { border-color: var(--accent, #2f6fed); color: var(--accent, #2f6fed); }
.gk-nb-agree--sub { margin-top: 12px; }
.gk-nb-subs { margin: 0 0 20px; padding: 14px 16px; border: 1px solid var(--line, #e3e6eb); border-radius: 14px; background: var(--surface, #fff); }
.gk-nb-subs b { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.gk-nb-subs p { margin: 0 0 8px; color: var(--muted, #6b7280); font-size: 14px; }
.gk-nb-subs small { display: block; margin-top: 8px; color: var(--muted, #6b7280); }
.gk-nb-subs-list { display: flex; flex-wrap: wrap; gap: 8px; }
.gk-nb-subs-list .gk-nb-subscribe { margin-top: 0; }
.gk-nb-photo { cursor: pointer; }
.gk-nb-owner .gk-nb-hint { font-size: 13px; color: var(--muted, #6b7280); align-self: center; }

/* сообщения покупателей в кабинете */
.gk-nb-msgs { display: grid; gap: 12px; }
.gk-nb-msg { padding: 14px 16px; border: 1px solid var(--line, #e3e6eb); border-radius: 14px; background: var(--surface, #fff); }
.gk-nb-msg.is-new { border-color: var(--accent, #2f6fed); }
.gk-nb-msg header { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.gk-nb-msg header time { margin-left: auto; color: var(--muted, #6b7280); font-size: 13px; }
.gk-nb-msg-new { padding: 2px 8px; border-radius: 999px; background: var(--accent, #2f6fed); color: #fff; font-size: 11px; font-weight: 700; }
.gk-nb-msg-ad { margin: 0 0 8px; font-size: 13px; color: var(--muted, #6b7280); }
.gk-nb-msg-text { margin: 0 0 12px; white-space: pre-wrap; }
.gk-nb-msg footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; font-size: 14px; }

.gk-nb-msg-role { padding: 2px 8px; border-radius: 999px; background: var(--page, #f5f6f8); color: var(--muted, #6b7280); font-size: 11px; font-weight: 600; }
.gk-nb-thread { display: grid; gap: 8px; margin: 6px 0 12px; }
.gk-nb-reply { padding: 10px 12px; border-radius: 12px; background: var(--page, #f5f6f8); max-width: 92%; }
.gk-nb-reply--me { background: color-mix(in srgb, var(--accent, #2f6fed) 10%, #fff); margin-left: auto; }
.gk-nb-reply b { font-size: 13px; margin-right: 8px; } .gk-nb-reply time { font-size: 12px; color: var(--muted, #6b7280); } .gk-nb-reply p { margin: 4px 0 0; white-space: pre-wrap; }
.gk-nb-msg footer { flex-direction: column; align-items: stretch; }
.gk-nb-reply-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: start; }
.gk-nb-reply-form textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--line, #e3e6eb); border-radius: 12px; font: inherit; resize: vertical; }
.gk-nb-reply-form small { grid-column: 1 / -1; color: var(--muted, #6b7280); }
.gk-nb-reply-form .gk-nb-form-msg { grid-column: 1 / -1; margin: 0; }

/* мессенджер */
.gk-nb-msgr { display: grid; grid-template-columns: 340px 1fr; gap: 16px; min-height: 60vh; }
.gk-nb-dlgs { display: flex; flex-direction: column; gap: 6px; }
.gk-nb-dlg { display: grid; grid-template-columns: 48px 1fr auto; gap: 10px; align-items: center; padding: 10px; border: 1px solid var(--line, #e3e6eb); border-radius: 14px; background: var(--surface, #fff); text-align: left; font: inherit; cursor: pointer; color: var(--ink, #0b1f3a); }
.gk-nb-dlg.is-on { border-color: var(--accent, #2f6fed); background: color-mix(in srgb, var(--accent, #2f6fed) 6%, #fff); }
.gk-nb-dlg.is-new .gk-nb-dlg-last { font-weight: 700; color: var(--ink, #0b1f3a); }
.gk-nb-dlg-img { width: 48px; height: 48px; border-radius: 10px; overflow: hidden; background: var(--page, #f5f6f8); display: grid; place-items: center; color: var(--muted, #6b7280); } .gk-nb-dlg-img img { width: 100%; height: 100%; object-fit: cover; }
.gk-nb-dlg-body { display: flex; flex-direction: column; min-width: 0; gap: 2px; } .gk-nb-dlg-body b small { font-weight: 500; color: var(--muted, #6b7280); }
.gk-nb-dlg-ad, .gk-nb-dlg-last { font-size: 13px; color: var(--muted, #6b7280); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gk-nb-dlg-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; font-size: 12px; color: var(--muted, #6b7280); }
.gk-nb-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--accent, #2f6fed); }
.gk-nb-chat { display: flex; flex-direction: column; border: 1px solid var(--line, #e3e6eb); border-radius: 16px; background: var(--surface, #fff); overflow: hidden; min-height: 420px; }
.gk-nb-chat-head { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--line, #e3e6eb); }
.gk-nb-chat-back { display: none; }
.gk-nb-chat-ad { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1; color: inherit; text-decoration: none; } .gk-nb-chat-ad img { width: 40px; height: 40px; border-radius: 8px; object-fit: cover; }
.gk-nb-chat-ad span { display: flex; flex-direction: column; min-width: 0; } .gk-nb-chat-ad small { color: var(--muted, #6b7280); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gk-nb-chat-contact { white-space: nowrap; }
.gk-nb-chat-log { flex: 1; display: flex; flex-direction: column; gap: 6px; padding: 14px; overflow-y: auto; background: var(--page, #f5f6f8); max-height: 60vh; }
.gk-nb-chat--inline .gk-nb-chat-log { max-height: 320px; min-height: 90px; }
.gk-nb-chat--inline { min-height: 0; margin-bottom: 10px; }
.gk-nb-chat--inline small { display: block; padding: 8px 14px 12px; color: var(--muted, #6b7280); font-size: 12px; }
.gk-nb-chat-empty { margin: auto; text-align: center; color: var(--muted, #6b7280); font-size: 14px; }
.gk-nb-bubble { max-width: 82%; padding: 8px 12px; border-radius: 14px 14px 14px 4px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.05); align-self: flex-start; }
.gk-nb-bubble.is-me { align-self: flex-end; background: color-mix(in srgb, var(--accent, #2f6fed) 14%, #fff); border-radius: 14px 14px 4px 14px; }
.gk-nb-bubble p { margin: 0; white-space: pre-wrap; word-break: break-word; } .gk-nb-bubble time { display: block; margin-top: 2px; font-size: 11px; color: var(--muted, #6b7280); text-align: right; }
.gk-nb-chat-form { display: flex; gap: 8px; align-items: flex-end; padding: 10px 12px; border-top: 1px solid var(--line, #e3e6eb); background: var(--surface, #fff); }
.gk-nb-chat-form textarea { flex: 1; min-height: 42px; max-height: 140px; padding: 10px 12px; border: 1px solid var(--line, #e3e6eb); border-radius: 12px; font: inherit; resize: none; }
.gk-nb-chat-form button { width: 44px; height: 42px; padding: 0; display: grid; place-items: center; flex: 0 0 auto; }
.gk-nb-chat-note { margin: 0; padding: 10px 14px; font-size: 13px; color: var(--muted, #6b7280); border-top: 1px solid var(--line, #e3e6eb); }
@media (max-width: 900px) {
  .gk-nb-msgr { grid-template-columns: 1fr; }
  .gk-nb-chat.is-fs { position: fixed; inset: 0; z-index: 700; border: 0; border-radius: 0; min-height: 0; }
  .gk-nb-chat.is-fs .gk-nb-chat-log { max-height: none; }
  .gk-nb-chat.is-fs .gk-nb-chat-back { display: inline-flex; }
  .gk-nb-chat.is-fs .gk-nb-chat-form { padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
  body.gk-nb-chat-open { overflow: hidden; }
}
body.gk-nb-chat-open .gk-fab, body.gk-nb-chat-open #gk-chat-fab { display: none !important; }
.gk-nb-chatpage .gk-fab, .gk-nb-chatpage #gk-chat-fab { display: none !important; }

.gk-nb-guest-panel { display: grid; gap: 8px; padding: 12px 14px 14px; border-top: 1px solid var(--line, #e3e6eb); }
.gk-nb-guest-panel span { font-size: 13px; color: var(--muted, #6b7280); }
.gk-nb-linkbtn { background: none; border: 0; padding: 4px 0; color: var(--accent, #2f6fed); font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; text-align: left; }

/* ---------- чат v0.3: кнопка «Написать продавцу», подсказки, системные сообщения, меню, статусы прочтения ---------- */
.gk-nb-chat--inline .gk-nb-write-btn { margin: 0; border-radius: 0; height: 50px; font-size: 16px; }
.gk-nb-chat--inline .gk-nb-chat-body { display: flex; flex-direction: column; }
.gk-nb-chat-other { margin: 0; padding: 6px 14px; font-size: 13px; color: var(--muted, #6b7280); border-bottom: 1px solid var(--line, #e3e6eb); } .gk-nb-chat-other span { font-weight: 600; color: var(--ink, #0b1f3a); }
.gk-nb-chat-tools { display: flex; align-items: center; gap: 6px; position: relative; }
.gk-nb-chat-dd { position: absolute; right: 0; top: 40px; z-index: 30; display: flex; flex-direction: column; min-width: 220px; padding: 6px; background: #fff; border: 1px solid var(--line, #e3e6eb); border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.gk-nb-chat-dd button { display: flex; align-items: center; gap: 8px; padding: 9px 10px; border: 0; background: none; font: inherit; font-size: 14px; color: var(--ink, #0b1f3a); text-align: left; border-radius: 8px; cursor: pointer; } .gk-nb-chat-dd button:hover { background: var(--page, #f5f6f8); }
.gk-nb-quick { display: flex; gap: 6px; padding: 8px 12px 0; overflow-x: auto; scrollbar-width: none; background: var(--surface, #fff); } .gk-nb-quick::-webkit-scrollbar { display: none; }
.gk-nb-quick button { flex: 0 0 auto; padding: 6px 12px; border: 1px solid var(--line, #e3e6eb); border-radius: 999px; background: #fff; font: inherit; font-size: 13px; color: var(--ink, #0b1f3a); cursor: pointer; } .gk-nb-quick button:hover { border-color: var(--nb, #0e9f6e); color: var(--nb, #0e9f6e); }
.gk-nb-sys { align-self: center; max-width: 90%; padding: 4px 10px; font-size: 12px; color: var(--muted, #6b7280); text-align: center; } .gk-nb-sys time { opacity: .7; }
.gk-nb-tick { display: inline-block; width: 12px; height: 8px; margin-left: 5px; border-left: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg) translateY(-2px); opacity: .5; } .gk-nb-tick.is-read { color: var(--nb, #0e9f6e); opacity: 1; }
.gk-nb-dot { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--nb, #0e9f6e); color: #fff; font: 700 11px/18px var(--font, system-ui); text-align: center; font-style: normal; }
.gk-nb-dlg-meta small { font-size: 11px; }
.gk-nb-guest-form { display: grid; gap: 8px; } .gk-nb-guest-form input { height: 44px; padding: 0 12px; border: 1px solid var(--line, #e3e6eb); border-radius: 10px; font: inherit; }
.gk-nb-chat-ad small { font-weight: 500; }
.gk-nb-chatpage .gk-nb-chat { min-height: 70vh; } .gk-nb-chatpage .gk-nb-chat-log { max-height: none; }
@media (min-width: 901px) { .gk-nb-chatpage .gk-nb-msgr { height: calc(100vh - 220px); min-height: 480px; } .gk-nb-chatpage .gk-nb-dlgs { overflow-y: auto; } .gk-nb-chatpage .gk-nb-chat { min-height: 0; height: 100%; } }
@media (max-width: 900px) {
  .gk-nb-chat.is-fs .gk-nb-chat-log { flex: 1; }
  .gk-nb-chat.is-fs .gk-nb-chat-form textarea { font-size: 16px; }
  .gk-nb-chat--inline .gk-nb-chat-log { max-height: 50vh; }
}

.gk-nb-notes { margin: 0 0 14px; padding: 12px 16px; background: #fff; border: 1px solid var(--line, #e3e6eb); border-radius: 14px; } .gk-nb-notes > b { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.gk-nb-notes ul { margin: 0; padding: 0; list-style: none; } .gk-nb-notes li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-top: 1px dashed var(--line, #e3e6eb); font-size: 14px; } .gk-nb-notes li.is-new a { font-weight: 700; }
.gk-nb-notes li time { color: var(--muted, #6b7280); font-size: 12px; white-space: nowrap; }

/* модалки (жалоба, ЖК) выше полноэкранного чата (.gk-nb-chat.is-fs z-index 700) */
.gk-nb-modal { z-index: 950; }
.gk-nb-chat-ad small span { display: inline; }

.gk-nb-empty--compact { padding: 22px 20px; } .gk-nb-empty--compact h3 { font-size: 17px; } .gk-nb-empty--compact p { margin-bottom: 12px; font-size: 14px; }

/* «Куплю», страница продавца */
.gk-nb-buy { color: var(--accent, #2f6fed); } .gk-nb-buy b { font-weight: 800; } .gk-nb-type--buy { background: var(--accent, #2f6fed); color: #fff; }
.gk-nb-seller-link { color: inherit; } .gk-nb-seller-link:hover { color: var(--nb, #0e9f6e); text-decoration: underline; } a.gk-nb-avatar { text-decoration: none; }
.gk-nb-user { display: flex; align-items: center; gap: 16px; margin: 12px 0 22px; padding: 18px 20px; background: #fff; border: 1px solid var(--line, #e3e6eb); border-radius: 16px; }
.gk-nb-user h1 { margin: 0 0 4px; font-size: clamp(22px, 2.6vw, 30px); } .gk-nb-user-meta { margin: 0 0 4px; color: var(--muted, #6b7280); font-size: 14px; } .gk-nb-user .gk-nb-hint { margin: 0; }
.gk-nb-avatar--lg { width: 64px; height: 64px; font-size: 26px; flex: 0 0 auto; }
.gk-nb-chat-other a { color: inherit; } .gk-nb-chat-other a:not(.is-plain):hover { text-decoration: underline; color: var(--nb, #0e9f6e); }
.gk-nb-my-head .gk-nb-linkbtn { align-self: center; }
