/* ============================================================================
   owner-posts.css — статьи владельцев: список /catalog/МАРКА/МОДЕЛЬ/blog/ и статья /blog/СЛАГ/
   (разметка include/catalog/owner_blog.php, поведение js/owner-posts.js). Переменные, кнопки, аватарки, полосы
   оценок и плашка «Тестовая» — из css/model-demo.css (корень .lp). Общий для desktop и mobile.
   ============================================================================ */
.op-page { max-width: 1120px; margin: 8px auto 56px; }

/* ---------- статья ---------- */
.op-article { max-width: 1120px; }
.op-head { max-width: 820px; margin-bottom: 20px; }
.lp .op-topic { display: inline-flex; padding: 4px 12px; border-radius: 999px; background: var(--lp-accent-bg); color: var(--lp-accent); font-size: 13px; font-weight: 800; }
.lp .op-topic:hover { background: var(--lp-accent); color: #fff; }
.op-title { margin: 12px 0 16px; color: var(--lp-ink); font-family: var(--lp-head); font-size: 34px; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; }
.op-byline { display: flex; align-items: center; gap: 12px; }
.lp-ava.op-ava { width: 44px; height: 44px; font-size: 15px; }
.op-who { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 14.5px; }
.op-who b { color: var(--lp-ink); font-weight: 800; }
.op-who small { color: var(--lp-sub); font-size: 13.5px; font-weight: 600; }
.op-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin-top: 14px; color: var(--lp-faint); font-size: 13.5px; font-weight: 600; }
.op-meta i { margin-right: 6px; }
.lp .op-meta a { color: var(--lp-sub); }
.lp .op-meta a:hover { color: var(--lp-accent); }
.op-meta-score i { color: #f59e0b; }
.op-cover { margin: 0 0 24px; border-radius: 22px; overflow: hidden; background: var(--lp-soft); }
.op-cover img { width: 100%; max-height: 520px; object-fit: cover; display: block; }
.op-cover figcaption, .op-photos figcaption { padding: 8px 14px; color: var(--lp-faint); font-size: 13px; }

.op-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; }
.op-text { max-width: 760px; color: var(--lp-text); font-size: 17px; line-height: 1.75; }
.op-text h2 { margin: 30px 0 10px; color: var(--lp-ink); font-family: var(--lp-head); font-size: 22px !important; font-weight: 700; line-height: 1.3; }
.op-text p { margin: 0 0 16px; }
.op-text ul { margin: 0 0 18px; padding-left: 22px; }
.op-text li { margin-bottom: 6px; }
.op-text .lp-proscons { margin-bottom: 20px; }
.op-text .lp-proscons p { margin: 6px 0 0; font-size: 15.5px; line-height: 1.6; }
.op-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 24px 0 8px; }
.op-photos figure { margin: 0; border-radius: 16px; overflow: hidden; background: var(--lp-soft); }
.op-photos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }

.op-side { position: sticky; top: calc(var(--lp-top) + 16px); display: flex; flex-direction: column; gap: 14px; }
.op-box { display: flex; flex-direction: column; gap: 10px; padding: 20px; border-radius: 20px; background: var(--lp-card); border: 1px solid var(--lp-line); box-shadow: var(--lp-shadow); }
.op-box-title { color: var(--lp-ink); font-size: 15px; font-weight: 800; }
.op-box-big { color: var(--lp-ink); font-family: var(--lp-head); font-size: 30px; font-weight: 700; line-height: 1; }
.op-box-big small { color: var(--lp-faint); font-family: 'Manrope', sans-serif; font-size: 14px; font-weight: 700; }
.op-box > small { color: var(--lp-sub); font-size: 13.5px; line-height: 1.5; font-weight: 600; }
.op-box .lp-btn { width: 100%; }
.lp-mbars.op-bars div { grid-template-columns: 150px minmax(0, 1fr) 28px; }

/* ---------- оценка статьи ---------- */
.op-score { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 24px; max-width: 760px; margin: 32px 0 0; padding: 18px 22px; border-radius: 20px; background: var(--lp-soft); scroll-margin-top: 90px; }
.op-score-text { flex: 1 1 220px; display: flex; flex-direction: column; gap: 2px; }
.op-score-text b { color: var(--lp-ink); font-size: 16px; font-weight: 800; }
.op-score-text small { color: var(--lp-sub); font-size: 13px; font-weight: 600; }
.op-stars { display: flex; gap: 2px; }
.op-stars button { width: 40px; height: 40px; padding: 0; border: 0; background: none; color: var(--lp-line); font-size: 32px; line-height: 1; cursor: pointer; transition: transform .12s, color .12s; }
.op-stars button.is-on { color: #f59e0b; }
.op-stars button:hover { transform: scale(1.12); }
.op-stars button:focus-visible { outline: 2px solid var(--lp-accent); outline-offset: 2px; border-radius: 8px; }
.op-score-avg { display: flex; flex-direction: column; align-items: flex-end; }
.op-score-avg b { color: var(--lp-ink); font-family: var(--lp-head); font-size: 24px; font-weight: 700; line-height: 1; }
.op-score-avg small { color: var(--lp-faint); font-size: 12.5px; font-weight: 700; }

/* ---------- комментарии ---------- */
.op-comments { max-width: 760px; margin-top: 40px; scroll-margin-top: 90px; }
.op-h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; color: var(--lp-ink); font-family: var(--lp-head); font-size: 24px !important; font-weight: 700; }
.op-form { display: flex; flex-direction: column; gap: 10px; margin-bottom: 22px; }
.op-form textarea { width: 100%; min-height: 96px; padding: 12px 14px; border-radius: 14px; border: 1.5px solid var(--lp-line); background: var(--lp-card); color: var(--lp-ink); font: inherit; font-size: 15px; line-height: 1.55; resize: vertical; outline: none; }
.op-form textarea:focus { border-color: var(--lp-accent); box-shadow: 0 0 0 4px var(--lp-accent-bg); }
.op-form-foot { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.op-form-reply { margin-right: auto; color: var(--lp-sub); font-size: 13.5px; font-weight: 700; }
.op-form-reply button { border: 0; background: none; padding: 0; color: var(--lp-accent); font: inherit; cursor: pointer; text-decoration: underline; }
.op-form-error { margin-right: auto; color: #e11d48; font-size: 13.5px; font-weight: 700; }
.op-comment .op-form { margin: 12px 0 4px; }
.op-login { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; padding: 16px 18px; border-radius: 18px; border: 1.5px dashed var(--lp-line); color: var(--lp-sub); font-size: 14px; }
.op-login > i { font-size: 20px; color: var(--lp-accent); }
.op-login > span { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.op-login b { color: var(--lp-ink); font-size: 15px; }
.op-list { display: flex; flex-direction: column; gap: 18px; }
.op-comment { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; scroll-margin-top: 100px; }
.op-comment.is-new > .op-comment-body { animation: opFlash 1.6s ease; border-radius: 12px; }
@keyframes opFlash { 0% { background: var(--lp-accent-bg); } 100% { background: transparent; } }
.op-comment-head { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; font-size: 14px; }
.op-comment-head b { color: var(--lp-ink); font-weight: 800; }
.op-comment-head small { color: var(--lp-faint); font-size: 12.5px; font-weight: 600; }
.op-badge { padding: 1px 8px; border-radius: 999px; background: var(--lp-accent-bg); color: var(--lp-accent); font-size: 11.5px; font-style: normal; font-weight: 800; }
.op-badge.is-staff { background: linear-gradient(90deg, var(--lp-cta-a), var(--lp-cta-b)); color: #fff; }
.op-comment-body p { margin: 4px 0 0; color: var(--lp-text); font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.op-reply { margin-top: 4px; padding: 0; border: 0; background: none; color: var(--lp-sub); font-size: 13px; font-weight: 800; cursor: pointer; }
.op-reply:hover { color: var(--lp-accent); }
.op-replies { display: flex; flex-direction: column; gap: 14px; margin-top: 12px; }
.op-replies:empty { display: none; }
.op-comment.is-reply { grid-template-columns: 30px minmax(0, 1fr); padding-left: 14px; border-left: 2px solid var(--lp-line-soft); }
.op-comment.is-reply .lp-ava { width: 30px; height: 30px; font-size: 11px; }
.op-empty { margin: 0; color: var(--lp-faint); font-size: 14.5px; }

/* ---------- карточки: «Ещё о модели» и список ---------- */
.op-more { margin-top: 56px; }
.op-list-head { margin-bottom: 18px; }
.op-list-head .op-title { margin-top: 0; margin-bottom: 6px; }
.op-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 36px; margin-bottom: 18px; padding: 20px 24px; border-radius: 20px; background: var(--lp-card); border: 1px solid var(--lp-line); box-shadow: var(--lp-shadow); }
.op-summary-big { display: flex; align-items: center; gap: 12px; }
.op-summary-big b { color: var(--lp-ink); font-family: var(--lp-head); font-size: 40px; font-weight: 700; line-height: 1; }
.op-summary-big small { color: var(--lp-sub); font-size: 13px; font-weight: 700; line-height: 1.4; }
.op-summary .op-bars { flex: 1 1 360px; }
.op-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.lp .op-card { display: flex; flex-direction: column; border-radius: 20px; background: var(--lp-card); border: 1px solid var(--lp-line); overflow: hidden; color: var(--lp-text); transition: transform .15s, box-shadow .2s; }
.lp .op-card:hover { transform: scale(1.02); box-shadow: var(--lp-shadow-lg); }
.op-card[hidden] { display: none !important; }
.op-card-cover { position: relative; display: block; aspect-ratio: 16 / 10; background: var(--lp-soft); overflow: hidden; }
.op-card-cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.lp .op-card:hover .op-card-cover img { transform: scale(1.04); }
.op-card-topic { position: absolute; left: 12px; top: 12px; padding: 3px 10px; border-radius: 8px; background: rgba(10, 12, 20, .62); color: #fff; font-size: 12px; font-weight: 800; backdrop-filter: blur(4px); }
.op-card-body { flex: 1; display: flex; flex-direction: column; gap: 10px; padding: 16px 18px 18px; }
.op-card-title { color: var(--lp-ink); font-size: 17px; font-weight: 800; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lp .op-card:hover .op-card-title { color: var(--lp-accent); }
.op-card-excerpt { color: var(--lp-sub); font-size: 14px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.op-card-author { display: flex; align-items: center; gap: 10px; margin-top: auto; min-width: 0; }
.op-card-who { display: flex; flex-direction: column; min-width: 0; font-size: 13px; line-height: 1.35; }
.op-card-who b { color: var(--lp-ink); font-weight: 800; }
.op-card-who small { color: var(--lp-faint); font-size: 12.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.op-card-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; color: var(--lp-faint); font-size: 12.5px; font-weight: 600; }
.op-card-meta i { margin-right: 4px; }
.op-card-score i { color: #f59e0b; }

/* оценки владельцев на странице модели (раздел «Отзывы») */
.lp-owner-rates { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 28px; margin-bottom: 14px; }
.lp-owner-rates b { color: var(--lp-ink); font-family: var(--lp-head); font-size: 26px; font-weight: 700; }
.lp-owner-rates small { color: var(--lp-sub); font-size: 13px; font-weight: 700; }
.lp-owner-rates .lp-mbars { flex: 1 1 320px; }
.lp-owner-rates .lp-mbars div, .op-summary .lp-mbars div { grid-template-columns: 170px minmax(0, 1fr) 34px; }

@media (max-width: 1099.98px) {
    .op-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .op-side { position: static; }
    .op-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .op-page { margin-top: 0; }
    .op-title { font-size: 25px; }
    .op-text { font-size: 16px; }
    .op-text h2 { font-size: 19px !important; }
    .op-cover { margin-left: -16px; margin-right: -16px; border-radius: 0; }
    .op-photos { grid-template-columns: minmax(0, 1fr); }
    .op-grid { grid-template-columns: minmax(0, 1fr); }
    .op-score { padding: 16px; }
    .op-score-avg { align-items: flex-start; }
    .op-stars button { width: 44px; height: 44px; }
    .lp-mbars.op-bars div, .lp-owner-rates .lp-mbars div, .op-summary .lp-mbars div { grid-template-columns: 128px minmax(0, 1fr) 30px; }
    .op-login { flex-wrap: wrap; }
    .op-summary-big b { font-size: 32px; }
}

/* ============================================================================
   2026-10-03, часть 2: выжимка, расходы, ремонты, продолжения, просмотр фото, лента лотов, вопросы владельцам,
   фильтры списка, модерация, редактор статьи (include/catalog/owner_write.php)
   ============================================================================ */
.op-page [hidden] { display: none !important; }
.op-head-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.op-head-actions { display: flex; gap: 6px; }
.op-icon-btn { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border-radius: 999px; border: 1.5px solid var(--lp-line); background: var(--lp-card); color: var(--lp-sub); font-size: 13px; font-weight: 800; cursor: pointer; }
.op-icon-btn:hover, .op-icon-btn.is-on { border-color: var(--lp-accent); color: var(--lp-accent); }
.lp .op-byline a { color: inherit; }
.op-verified { position: relative; cursor: help; }
.op-tip { position: absolute; left: 0; top: calc(100% + 8px); z-index: 20; width: 280px; padding: 10px 12px; border-radius: 12px; background: var(--lp-ink); color: var(--lp-card); font-size: 12.5px; font-weight: 600; line-height: 1.45; white-space: normal; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .15s, transform .15s; box-shadow: var(--lp-shadow-lg); }
.op-verified:hover .op-tip, .op-verified:focus .op-tip { opacity: 1; visibility: visible; transform: none; }

/* коротко */
.op-tldr { max-width: 820px; margin: 0 0 22px; padding: 18px 20px; border-radius: 20px; background: var(--lp-accent-bg); }
.op-tldr-label { display: inline-flex; align-items: center; gap: 8px; color: var(--lp-accent); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.op-tldr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin-top: 10px; }
.op-tldr-col b { display: block; margin-bottom: 4px; color: var(--lp-ink); font-size: 14px; font-weight: 800; }
.op-tldr-col ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; font-size: 15px; line-height: 1.45; }
.op-tldr-col li { position: relative; padding-left: 22px; }
.op-tldr-col.is-pros li::before { content: "+"; position: absolute; left: 4px; color: var(--lp-ok); font-weight: 900; }
.op-tldr-col.is-cons li::before { content: "−"; position: absolute; left: 4px; color: #e11d48; font-weight: 900; }
.op-tldr-facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.op-fact { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: var(--lp-card); color: var(--lp-ink); font-size: 13.5px; font-weight: 800; }
.op-fact i { color: var(--lp-accent); }
.op-fact.is-yes i { color: var(--lp-ok); }
.op-fact.is-no i { color: #e11d48; }
.op-cover { position: relative; cursor: zoom-in; }
.op-cover-count { position: absolute; right: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 10px; background: rgba(10, 12, 20, .62); color: #fff; font-size: 13px; font-weight: 800; }

/* оглавление, блоки статьи */
.op-toc { margin: 0 0 22px; padding: 14px 18px; border-radius: 16px; background: var(--lp-soft); }
.op-toc b { color: var(--lp-ink); font-size: 14px; font-weight: 800; }
.op-toc ol { margin: 8px 0 0; padding-left: 20px; display: grid; gap: 4px; font-size: 15px; }
.lp .op-toc a { color: var(--lp-accent); }
.op-block { margin-top: 30px; }
.op-block h2 { margin-top: 0 !important; }
.op-costs tfoot th, .op-costs tfoot td { border-top: 2px solid var(--lp-line); }
.op-costs td small { display: block; color: var(--lp-faint); font-size: 12px; font-weight: 700; }
.op-repairs { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.op-repairs li { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 14px; border-radius: 14px; background: var(--lp-soft); font-size: 15px; }
.op-repairs-km { color: var(--lp-accent); font-weight: 800; font-size: 13.5px; }
.op-repairs li b { display: block; color: var(--lp-ink); font-weight: 800; }
.op-repairs li small { color: var(--lp-faint); font-size: 12.5px; font-weight: 700; }
.op-repairs-cost { color: var(--lp-ink); font-weight: 800; white-space: nowrap; }
.op-video { position: relative; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: #000; }
.op-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.op-photos figure { cursor: zoom-in; }
.op-photos.is-receipts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.op-photos.is-receipts img { aspect-ratio: 3 / 4; }
.op-compare-note { margin: 24px 0 0; padding: 12px 16px; border-radius: 14px; background: var(--lp-soft); font-size: 15px; }
.op-compare-note i { margin-right: 8px; color: var(--lp-accent); }
.op-disclaimer { margin: 30px 0 0; color: var(--lp-faint); font-size: 13px; line-height: 1.5; }
.op-disclaimer i { margin-right: 6px; }
.lp .op-disclaimer a { color: var(--lp-sub); text-decoration: underline; }

/* продолжения (дневник) */
.op-timeline { position: relative; margin: 0; padding: 0 0 0 22px; list-style: none; display: grid; gap: 18px; }
.op-timeline::before { content: ""; position: absolute; left: 6px; top: 6px; bottom: 6px; width: 2px; background: var(--lp-line); }
.op-timeline li { position: relative; display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; }
.op-timeline li::before { content: ""; position: absolute; left: -21px; top: 5px; width: 12px; height: 12px; border-radius: 50%; background: var(--lp-accent); box-shadow: 0 0 0 4px var(--lp-card); }
.op-timeline li.is-start::before { background: var(--lp-faint); }
.op-timeline-km { color: var(--lp-accent); font-size: 13.5px; font-weight: 800; }
.op-timeline b { display: block; color: var(--lp-ink); font-size: 16px; font-weight: 800; }
.op-timeline small { color: var(--lp-faint); font-size: 12.5px; font-weight: 600; }
.op-update-body p { margin: 8px 0 0; font-size: 16px; }
.op-update-form { margin-top: 16px; }
.op-update-form summary { cursor: pointer; color: var(--lp-accent); font-size: 15px; font-weight: 800; }
.op-update-form summary i { margin-right: 6px; }
.op-update-form form { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.op-form-row { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: 10px; }
.op-page input[type="text"], .op-page input:not([type]), .op-page input[inputmode], .op-page input[type="search"], .op-page select, .op-page textarea {
    min-width: 0; height: 44px; padding: 0 12px; border-radius: 12px; border: 1.5px solid var(--lp-line); background: var(--lp-card); color: var(--lp-ink); font: inherit; font-size: 15px; outline: none; }
.op-page textarea { height: auto; padding: 10px 12px; line-height: 1.55; resize: vertical; }
.op-page input:focus, .op-page select:focus, .op-page textarea:focus { border-color: var(--lp-accent); box-shadow: 0 0 0 4px var(--lp-accent-bg); }
.op-check { display: flex; align-items: flex-start; gap: 10px; margin: 8px 0 0; font-size: 14.5px; cursor: pointer; }
.op-check input { margin-top: 3px; width: 18px; height: 18px; flex: none; accent-color: var(--lp-accent); }
.lp .op-check a { color: var(--lp-accent); text-decoration: underline; }

/* боковые карточки статьи */
.op-box-today .op-box-big { font-size: 26px; }
.op-box-company { display: flex; align-items: center; justify-content: space-between; padding-top: 10px; border-top: 1px solid var(--lp-line-soft); font-size: 13.5px; font-weight: 700; color: var(--lp-sub); }
.op-box-company b { color: #f59e0b; letter-spacing: 1px; }

/* лента лотов с подгрузкой */
.op-lots { margin-top: 40px; scroll-margin-top: 90px; }
.op-lots-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.lp .op-lot { display: flex; flex-direction: column; gap: 4px; padding-bottom: 12px; border-radius: 16px; background: var(--lp-card); border: 1px solid var(--lp-line); overflow: hidden; color: var(--lp-text); transition: transform .15s, box-shadow .2s; }
.lp .op-lot:hover { transform: scale(1.02); box-shadow: var(--lp-shadow-lg); }
.op-lot-photo { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--lp-soft); margin-bottom: 6px; }
.op-lot-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.op-lot-flag { position: absolute; left: 8px; top: 8px; padding: 2px 8px; border-radius: 8px; background: rgba(10, 12, 20, .62); color: #fff; font-size: 11.5px; font-weight: 800; }
.op-lot-title { padding: 0 12px; color: var(--lp-ink); font-size: 14.5px; font-weight: 800; }
.op-lot-meta { padding: 0 12px; color: var(--lp-faint); font-size: 12.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.op-lot-price { padding: 0 12px; color: var(--lp-accent); font-size: 15px; font-weight: 800; }
.op-lots-more { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; color: var(--lp-faint); font-size: 14px; font-weight: 700; }
.op-spinner { width: 18px; height: 18px; border-radius: 50%; border: 2.5px solid var(--lp-line); border-top-color: var(--lp-accent); animation: opSpin .8s linear infinite; }
@keyframes opSpin { to { transform: rotate(360deg); } }

/* просмотр фото на весь экран */
.op-lightbox { position: fixed; inset: 0; z-index: 1080; display: flex; align-items: center; justify-content: center; background: rgba(5, 7, 12, .92); }
.op-lightbox figure { margin: 0; max-width: 92vw; max-height: 88vh; display: flex; flex-direction: column; align-items: center; }
.op-lightbox img { max-width: 92vw; max-height: 82vh; object-fit: contain; border-radius: 8px; }
.op-lightbox figcaption { margin-top: 10px; color: #e5e7eb; font-size: 14px; }
.op-lb-close, .op-lb-nav { position: absolute; width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .12); color: #fff; font-size: 20px; cursor: pointer; }
.op-lb-close:hover, .op-lb-nav:hover { background: rgba(255, 255, 255, .24); }
.op-lb-close { top: 18px; right: 18px; }
.op-lb-nav.is-prev { left: 18px; top: 50%; transform: translateY(-50%); }
.op-lb-nav.is-next { right: 18px; top: 50%; transform: translateY(-50%); }
.op-lb-count { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); color: #cbd5e1; font-size: 13px; font-weight: 700; }

/* модерация, мои статьи */
.op-mod { margin: 0 0 16px; padding: 14px 18px; border-radius: 18px; border: 1.5px dashed var(--lp-accent); background: var(--lp-accent-bg); }
.op-mod.is-author { border-color: var(--lp-line); background: var(--lp-soft); }
.op-mod-head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; font-size: 14px; }
.op-mod-head b { color: var(--lp-ink); font-weight: 800; }
.op-mod-head b i { margin-right: 6px; color: var(--lp-accent); }
.op-mod-checks { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; color: var(--lp-sub); font-size: 13px; font-weight: 600; }
.op-mod-checks label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.op-mod-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.op-mod-reason { flex: 1 1 220px; height: 38px !important; font-size: 14px !important; }
.op-mod-rev { padding-top: 12px; border-top: 1px solid var(--lp-line); font-size: 13.5px; font-weight: 700; color: var(--lp-sub); }
.op-mod-rev i { margin-right: 6px; color: var(--lp-accent); }
.op-mod-reason-text { margin: 10px 0 0; font-size: 14px; line-height: 1.5; }
.op-mod-reason-text.is-warn { padding: 12px 16px; border-radius: 14px; background: var(--lp-warn-bg); color: var(--lp-warn); }
.op-mod-reason-text i { margin-right: 6px; }
.op-status { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; background: var(--lp-soft-2); color: var(--lp-sub); font-size: 12px; font-style: normal; font-weight: 800; }
.op-status.is-published { background: var(--lp-ok-bg); color: var(--lp-ok); }
.op-status.is-pending { background: var(--lp-warn-bg); color: var(--lp-warn); }
.op-status.is-rejected, .op-status.is-hidden { background: rgba(225, 29, 72, .1); color: #e11d48; }
.op-chip { padding: 3px 10px; border-radius: 999px; background: var(--lp-card); color: var(--lp-sub); font-size: 12px; font-weight: 700; }
.op-chip.is-warn { color: #e11d48; }
.op-queue { display: flex; flex-direction: column; gap: 6px; margin: 0 0 18px; padding: 14px 18px; border-radius: 18px; border: 1.5px dashed var(--lp-accent); background: var(--lp-accent-bg); }
.op-queue.is-mine { border-color: var(--lp-line); background: var(--lp-soft); }
.op-queue > b { color: var(--lp-ink); font-size: 14.5px; font-weight: 800; }
.op-queue > b i { margin-right: 6px; color: var(--lp-accent); }
.lp .op-queue a { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 8px 12px; border-radius: 12px; background: var(--lp-card); color: var(--lp-ink); font-size: 14.5px; font-weight: 700; }
.lp .op-queue a:hover { color: var(--lp-accent); }
.op-queue a small { color: var(--lp-faint); font-size: 12.5px; font-weight: 700; white-space: nowrap; }

/* список: действия, сводки, темы, фильтры */
.op-list-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.op-sums { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0 0 20px; }
.op-sum { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px; border-radius: 20px; background: var(--lp-card); border: 1px solid var(--lp-line); box-shadow: var(--lp-shadow); }
.op-sum-title { color: var(--lp-ink); font-size: 15px; font-weight: 800; }
.op-sum-title i { margin-right: 8px; color: var(--lp-accent); }
.op-sum-big { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.op-sum-big b { color: var(--lp-ink); font-family: var(--lp-head); font-size: 30px; font-weight: 700; line-height: 1; }
.op-sum-big small { color: var(--lp-sub); font-size: 13px; font-weight: 700; }
.op-sum-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 14px; }
.op-sum-list li { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 6px; border-bottom: 1px dashed var(--lp-line-soft); }
.op-sum-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.op-sum-list b { color: var(--lp-ink); font-weight: 800; white-space: nowrap; }
.op-sum-note { color: var(--lp-faint); font-size: 12.5px; font-weight: 600; }
.op-sum .lp-mbars div { grid-template-columns: 150px minmax(0, 1fr) 30px; }
.op-probs { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.op-probs li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; }
.op-probs-node b { color: var(--lp-ink); font-size: 14.5px; font-weight: 800; }
.op-probs-node small { display: block; color: var(--lp-faint); font-size: 12.5px; font-weight: 700; }
.op-probs-cost { color: var(--lp-ink); font-size: 13.5px; font-weight: 800; white-space: nowrap; }
.op-probs-items { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12.5px; }
.lp .op-probs-items a { color: var(--lp-accent); }
.lp .op-topic-links a { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--lp-line); background: var(--lp-card); color: var(--lp-text); font-size: 13.5px; font-weight: 700; }
.lp .op-topic-links a small { color: var(--lp-faint); font-size: 12px; font-weight: 800; }
.lp .op-topic-links a:hover { border-color: var(--lp-accent); color: var(--lp-accent); }
.lp .op-topic-links a.is-active { background: var(--lp-ink); border-color: var(--lp-ink); color: var(--lp-card); }
.lp .op-topic-links a.is-active small { color: inherit; opacity: .7; }
.op-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; }
.op-search { position: relative; flex: 1 1 260px; margin: 0; }
.op-search i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--lp-faint); }
.op-search input { width: 100%; padding-left: 38px !important; }
.op-tools select { width: auto; max-width: 200px; }
.op-toggle { display: inline-flex; align-items: center; margin: 0; cursor: pointer; }
.op-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.op-toggle span { display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 14px; border-radius: 12px; border: 1.5px solid var(--lp-line); background: var(--lp-card); color: var(--lp-text); font-size: 14px; font-weight: 700; }
.op-toggle input:checked + span { border-color: var(--lp-accent); background: var(--lp-accent-bg); color: var(--lp-accent); }
.op-card-flag { position: absolute; right: 12px; top: 12px; display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 8px; background: rgba(10, 12, 20, .62); color: #fff; font-size: 11.5px; font-weight: 800; }
.op-card-flag.is-yes { background: rgba(21, 128, 61, .88); }
.op-card-flag.is-no { background: rgba(190, 18, 60, .85); }
.op-bm { margin-left: auto; padding: 0; border: 0; background: none; color: var(--lp-faint); font-size: 15px; cursor: pointer; }
.op-bm:hover, .op-bm.is-on { color: var(--lp-accent); }
.op-ask-cta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; margin-top: 40px; padding: 18px 22px; border-radius: 20px; background: var(--lp-soft); }
.op-ask-cta > i { font-size: 24px; color: var(--lp-accent); }
.op-ask-cta > span { flex: 1 1 280px; display: flex; flex-direction: column; gap: 2px; color: var(--lp-sub); font-size: 14px; }
.op-ask-cta b { color: var(--lp-ink); font-size: 16px; }

/* вопросы владельцам */
.op-qa-preview { margin-top: 40px; }
.op-ask { max-width: 820px; margin-bottom: 22px; }
.op-qa { display: grid; gap: 14px; max-width: 900px; }
.op-q { padding: 18px 20px; border-radius: 20px; background: var(--lp-card); border: 1px solid var(--lp-line); scroll-margin-top: 100px; }
.op-q:target { box-shadow: 0 0 0 3px var(--lp-accent-bg), var(--lp-shadow); }
.op-q-head { display: flex; align-items: center; gap: 10px; }
.op-q-head span:last-child { display: flex; flex-direction: column; font-size: 13.5px; }
.op-q-head b { color: var(--lp-ink); font-weight: 800; }
.op-q-head small { color: var(--lp-faint); font-size: 12.5px; font-weight: 600; }
.op-q-text { margin: 10px 0 0; color: var(--lp-ink); font-size: 16.5px; font-weight: 700; line-height: 1.5; }
.op-answers { display: grid; gap: 12px; margin-top: 12px; }
.op-a { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; padding: 12px 14px; border-radius: 14px; background: var(--lp-soft); }
.op-a.is-owner { background: var(--lp-ok-bg); }
.op-a p { margin: 4px 0 0; font-size: 15px; line-height: 1.55; }
.op-badge.is-owner { background: var(--lp-ok-bg); color: var(--lp-ok); }
.op-badge.is-owner i { margin-right: 4px; }
.op-helpful { margin-top: 6px; padding: 0; border: 0; background: none; color: var(--lp-sub); font-size: 13px; font-weight: 800; cursor: pointer; }
.op-helpful i { margin-right: 4px; }
.op-helpful:hover, .op-helpful.is-on { color: var(--lp-accent); }
.op-a-form { margin: 12px 0 0; }
.lp .op-q-more { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; color: var(--lp-accent); font-size: 14px; font-weight: 800; }

/* окна */
.op-modal-box { max-width: 640px; }
.op-modal .lp-modal-body textarea { width: 100%; }
.op-rules ol { margin: 0; padding-left: 20px; display: grid; gap: 10px; font-size: 14.5px; line-height: 1.55; }
.op-rules b { color: var(--lp-ink); }

/* ---------- редактор ---------- */
.lp .op-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; color: var(--lp-sub); font-size: 14px; font-weight: 700; }
.lp .op-back:hover { color: var(--lp-accent); }
.op-login-big { padding: 24px; }
.op-ed { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; align-items: start; }
.op-ed-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.op-ed-sec { padding: 20px 22px; border-radius: 20px; background: var(--lp-card); border: 1px solid var(--lp-line); box-shadow: var(--lp-shadow); }
.op-ed-sec h2 { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 14px; color: var(--lp-ink); font-family: var(--lp-head); font-size: 19px !important; font-weight: 700; }
.op-ed-sec h2 > span { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--lp-accent-bg); color: var(--lp-accent); font-family: 'Manrope', sans-serif; font-size: 13px; font-weight: 800; }
.op-ed-sec h2 small { color: var(--lp-faint); font-family: 'Manrope', sans-serif; font-size: 13px; font-weight: 700; }
.op-ed-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.op-ed-two { margin-bottom: 14px; }
.op-field { display: flex; flex-direction: column; gap: 6px; margin: 0; min-width: 0; }
.op-field > span:first-child { color: var(--lp-sub); font-size: 13px; font-weight: 800; }
.op-field > span small { color: var(--lp-faint); font-weight: 700; }
.op-field-wide { grid-column: 1 / -1; margin-top: 12px; }
.op-ed-grid .op-field-wide { margin-top: 0; }
.op-field > small { color: var(--lp-faint); font-size: 12px; }
.op-field input, .op-field select, .op-field textarea { width: 100%; }
.op-ed-order { margin-top: 14px; padding: 14px 16px; border-radius: 16px; background: var(--lp-ok-bg); }
.op-ed-order .op-field-wide { margin-top: 0; }
.op-ed-order .op-ed-grid { margin-top: 12px; }
.op-ed-order .op-field > span i { color: var(--lp-ok); }
.op-hint { margin: 10px 0 0; color: var(--lp-faint); font-size: 13px; line-height: 1.5; }
.op-hint i { margin-right: 6px; color: #f59e0b; }
.op-seg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.op-seg.is-small { display: flex; flex-wrap: wrap; gap: 8px; }
.op-seg label, .op-chips label { margin: 0; cursor: pointer; }
.op-seg input, .op-chips input { position: absolute; opacity: 0; pointer-events: none; }
.op-seg span { display: grid; grid-template-columns: 34px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 10px; padding: 14px 16px; border-radius: 16px; border: 1.5px solid var(--lp-line); background: var(--lp-card); }
.op-seg span i { grid-row: 1 / 3; align-self: center; font-size: 20px; color: var(--lp-faint); }
.op-seg span b { color: var(--lp-ink); font-size: 15px; font-weight: 800; }
.op-seg span small { color: var(--lp-sub); font-size: 12.5px; font-weight: 600; }
.op-seg input:checked + span { border-color: var(--lp-accent); background: var(--lp-accent-bg); box-shadow: 0 0 0 1px var(--lp-accent); }
.op-seg input:checked + span i { color: var(--lp-accent); }
.op-seg.is-small span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; font-size: 14px; font-weight: 800; }
.op-seg.is-small span i { font-size: 14px; }
.op-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.op-chips span { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--lp-line); background: var(--lp-card); color: var(--lp-text); font-size: 14px; font-weight: 700; }
.op-chips input:checked + span { border-color: var(--lp-accent); background: var(--lp-accent); color: #fff; }
.op-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 8px; }
.op-toolbar button { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border-radius: 10px; border: 1.5px solid var(--lp-line); background: var(--lp-card); color: var(--lp-text); font-size: 13px; font-weight: 800; cursor: pointer; }
.op-toolbar button:hover { border-color: var(--lp-accent); color: var(--lp-accent); }
.op-toolbar-hint { margin-left: auto; color: var(--lp-faint); font-size: 12.5px; font-weight: 600; }
.op-ed textarea[name="body"] { width: 100%; min-height: 360px; font-size: 16px; line-height: 1.65; }
.op-progress { display: flex; align-items: center; gap: 10px; margin-top: 8px; color: var(--lp-faint); font-size: 12.5px; font-weight: 700; }
.op-progress i { flex: 0 0 160px; height: 6px; border-radius: 999px; background: var(--lp-soft-2); overflow: hidden; }
.op-progress em { display: block; height: 100%; width: 0; background: #f59e0b; transition: width .2s; }
.op-progress.is-ok em { background: var(--lp-accent); }
.op-progress.is-done em { background: var(--lp-ok); }
.op-rows { display: grid; gap: 8px; margin-bottom: 10px; }
.op-row { display: grid; grid-template-columns: 170px minmax(0, 1fr) 140px 40px; gap: 8px; align-items: center; }
.op-row.is-repair { grid-template-columns: 160px minmax(0, 1fr) 120px 120px 40px; }
.op-row input, .op-row select { width: 100%; }
.op-row-x { width: 40px; height: 40px; border: 0; border-radius: 10px; background: var(--lp-soft); color: var(--lp-faint); cursor: pointer; }
.op-row-x:hover { color: #e11d48; }
.op-rows-foot { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; }
.op-inline { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--lp-sub); font-size: 13px; font-weight: 800; }
.op-inline input { width: 120px; }
.op-total { margin-left: auto; color: var(--lp-ink); font-size: 15px; font-weight: 800; }
.op-wrates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; }
.op-wrate { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px dashed var(--lp-line-soft); font-size: 14.5px; font-weight: 700; }
.op-wstars { display: inline-flex; }
.op-wstars button { width: 34px; height: 34px; padding: 0; border: 0; background: none; color: var(--lp-line); font-size: 24px; line-height: 1; cursor: pointer; }
.op-wstars button.is-on { color: #f59e0b; }
.op-wstars button:hover { transform: scale(1.12); }
.op-drop { position: relative; display: flex; align-items: center; gap: 14px; margin: 0 0 12px; padding: 22px; border-radius: 18px; border: 2px dashed var(--lp-line); background: var(--lp-soft); color: var(--lp-sub); font-size: 13.5px; line-height: 1.45; cursor: pointer; transition: border-color .15s, background .15s; }
.op-drop:hover, .op-drop.is-over { border-color: var(--lp-accent); background: var(--lp-accent-bg); }
.op-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.op-drop > i { font-size: 26px; color: var(--lp-accent); }
.op-drop b { display: block; color: var(--lp-ink); font-size: 14.5px; }
.op-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-bottom: 14px; }
.op-thumb { position: relative; display: flex; flex-direction: column; gap: 6px; }
.op-thumb img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; background: var(--lp-soft); }
.op-thumb.is-loading { align-items: center; justify-content: center; aspect-ratio: 4 / 3; border-radius: 12px; background: var(--lp-soft); }
.op-thumb-x { position: absolute; right: 6px; top: 6px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: rgba(10, 12, 20, .62); color: #fff; cursor: pointer; }
.op-thumb-cover { position: absolute; left: 6px; top: 6px; margin: 0; cursor: pointer; }
.op-thumb-cover input { position: absolute; opacity: 0; }
.op-thumb-cover span { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(10, 12, 20, .5); color: rgba(255, 255, 255, .6); font-size: 12px; }
.op-thumb-cover input:checked + span { background: #f59e0b; color: #fff; }
.op-thumb-cap { height: 34px !important; font-size: 13px !important; }
.op-thumb-kind { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: var(--lp-sub); font-size: 12.5px; font-weight: 700; cursor: pointer; }
.op-ed-side { position: sticky; top: calc(var(--lp-top) + 16px); }
.op-ed-panel .lp-btn { width: 100%; }
.op-ed-status { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.op-ed-status small { color: var(--lp-faint); font-size: 12.5px; font-weight: 600; }
.op-ready { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 14px; }
.op-ready li { position: relative; padding-left: 26px; color: var(--lp-sub); }
.op-ready li::before { content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--lp-line); }
.op-ready li.is-ok { color: var(--lp-ink); font-weight: 700; }
.op-ready li.is-ok::before { border-color: var(--lp-ok); background: var(--lp-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-6' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center no-repeat; }
.op-ready li[hidden] { display: none; }
.op-ed-note { margin: 0; color: var(--lp-faint); font-size: 12.5px; line-height: 1.5; }
.op-write .op-mod-reason-text { max-width: 900px; margin-bottom: 16px; }

@media (max-width: 1099.98px) {
    .op-ed { grid-template-columns: minmax(0, 1fr); }
    .op-ed-side { position: static; }
    .op-lots-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .op-tldr-grid, .op-sums, .op-ed-grid, .op-seg, .op-wrates { grid-template-columns: minmax(0, 1fr); }
    .op-lots-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .op-photos.is-receipts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .op-repairs li { grid-template-columns: 80px minmax(0, 1fr); }
    .op-repairs-cost { grid-column: 2; }
    .op-timeline li { grid-template-columns: minmax(0, 1fr); }
    .op-row, .op-row.is-repair { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .op-row input[name="cost_title"], .op-row input[name="repair_title"] { grid-column: 1 / -1; order: -1; }
    .op-row-x { justify-self: end; }
    .op-form-row { grid-template-columns: minmax(0, 1fr); }
    .op-tools select { max-width: none; flex: 1 1 45%; }
    .op-head-actions .op-icon-btn span { display: none; }
    .op-toolbar-hint { display: none; }
    .op-ed-sec { padding: 16px; }
    .op-lb-nav { display: none; }
}

/* страница автора /owners/КЛЮЧ/ */
.op-author-head { display: flex; align-items: center; gap: 20px; margin: 10px 0 24px; }
.lp-ava.op-author-ava { width: 88px; height: 88px; font-size: 30px; }
.op-author-head .op-title { margin: 0 0 4px; }
.op-author-stats { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 12px; color: var(--lp-sub); font-size: 13.5px; font-weight: 700; }
.op-author-stats b { display: block; color: var(--lp-ink); font-family: var(--lp-head); font-size: 22px; font-weight: 700; }
.op-author-carlist { display: flex; flex-wrap: wrap; gap: 10px; }
.lp .op-author-carlist a { display: inline-flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 16px; background: var(--lp-card); border: 1px solid var(--lp-line); color: var(--lp-text); }
.lp .op-author-carlist a:hover { border-color: var(--lp-accent); }
.op-author-carlist i { color: var(--lp-accent); font-size: 18px; }
.op-author-carlist span { display: flex; flex-direction: column; font-size: 13px; }
.op-author-carlist b { color: var(--lp-ink); font-size: 15px; }
.op-author-carlist small { color: var(--lp-faint); font-weight: 600; }
.op-card-model { color: var(--lp-accent); font-size: 12.5px; font-weight: 800; }
@media (max-width: 767.98px) { .op-author-head { align-items: flex-start; } .lp-ava.op-author-ava { width: 64px; height: 64px; font-size: 22px; } }
/* страница модели: сводка статей владельцев */
.op-mini { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0 0 14px; color: var(--lp-sub); font-size: 13.5px; font-weight: 600; }
.op-mini i { margin-right: 6px; color: var(--lp-accent); }
.op-mini b { color: var(--lp-ink); font-weight: 800; }
.op-mini .lp-btn { margin-left: auto; }

/* расходы за год на телефоне: строка «статья — сумма», пояснение под ней; таблица без горизонтальной прокрутки */
@media (max-width: 575.98px) {
    .op-costs { display: block; width: 100%; min-width: 0 !important; }
    .op-costs tbody, .op-costs tfoot { display: block; }
    .op-costs thead { display: none; }
    .op-costs tbody tr { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 10px 14px; border-bottom: 1px solid var(--lp-line); }
    .op-costs tbody th, .op-costs tbody td { display: block; padding: 0 !important; border: 0 !important; }
    .op-costs tbody td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; color: var(--lp-sub); font-size: 13px; }
    .op-costs tbody td:last-child { grid-column: 2; grid-row: 1; text-align: right; }
    .op-costs tfoot tr { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; }
    .op-costs tfoot th, .op-costs tfoot td { display: block; padding: 0 !important; border: 0 !important; }
    .op-costs tfoot td { text-align: right; white-space: nowrap; }
}
/* ссылки тем на телефоне листаются в строку — подпись не переносится */
.op-topic-links > * { flex: 0 0 auto; white-space: nowrap; }
