/* Classic theme: masthead + two-column body with a right rail. */
:root { --ink: #1f2a37; --paper: #f6f7f9; --tone: #0d5c8f; --line: #d7dce2; }
* { box-sizing: border-box; }
body.page-shell { margin: 0; font: 16px/1.55 Georgia, 'Times New Roman', serif; color: var(--ink); background: var(--paper); }
.masthead { background: var(--tone); }
.masthead-inner { max-width: 1080px; margin: 0 auto; padding: 14px 20px; display: flex; justify-content: space-between; align-items: baseline; }
.brand-link { color: #fff; font-size: 22px; text-decoration: none; font-weight: bold; }
.top-nav-item { color: #e8f2fa; text-decoration: underline; }
.page-cols { max-width: 1080px; margin: 24px auto; padding: 0 20px; display: flex; gap: 32px; }
.content-col { flex: 1 1 auto; min-width: 0; }
.side-rail { flex: 0 0 260px; }
.page-title { font-size: 28px; margin: 0 0 16px; }
.flash-note { background: #e5f4e3; border: 1px solid #9ec99a; padding: 10px 14px; }
.crumbs-track { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0 0 12px; font-size: 13px; }
.crumb-step + .crumb-step::before { content: '/'; margin-right: 6px; color: #8a94a0; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
.ad-card { background: #fff; border: 1px solid var(--line); padding: 14px; }
.ad-card-title { margin: 0 0 6px; font-size: 17px; }
.ad-card-title a { color: var(--tone); text-decoration: none; }
.ad-card-price { font-weight: bold; margin: 0 0 4px; }
.ad-card-meta { color: #66707c; font-size: 13px; margin: 0; }
.geo-block, .fresh-block { margin-bottom: 24px; }
.geo-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.geo-item a { color: var(--tone); }
.rail-box { background: #fff; border: 1px solid var(--line); padding: 14px; margin-bottom: 18px; }
.rail-title { margin: 0 0 10px; font-size: 16px; }
.rail-list { list-style: none; padding: 0; margin: 0; }
.rail-item { margin-bottom: 6px; }
.pager-track { list-style: none; display: flex; gap: 6px; padding: 0; }
.pager-cell a, .pager-cell span { display: inline-block; padding: 4px 10px; border: 1px solid var(--line); background: #fff; text-decoration: none; }
.pager-now span { background: var(--tone); color: #fff; border-color: var(--tone); }
.pager-off span { color: #a7afb8; }
.spec-list { margin: 16px 0; }
.spec-row { display: flex; border-bottom: 1px dotted var(--line); padding: 5px 0; }
.spec-name { flex: 0 0 45%; color: #66707c; }
.spec-value { margin: 0; }
.ad-price-line { font-size: 22px; font-weight: bold; }
.ad-body p { margin: 0 0 12px; }
.contact-btn { display: inline-block; background: var(--tone); color: #fff; padding: 10px 22px; text-decoration: none; }
.filter-row { margin-bottom: 10px; }
.filter-label { display: block; font-size: 13px; color: #66707c; }
.filter-input { width: 100%; padding: 6px; border: 1px solid var(--line); }
.filter-submit { background: var(--tone); color: #fff; border: 0; padding: 8px 18px; cursor: pointer; }
.form-block { margin-bottom: 14px; }
.form-label { display: block; margin-bottom: 4px; }
.form-input { width: 100%; max-width: 520px; padding: 8px; border: 1px solid var(--line); }
.form-btn { background: var(--tone); color: #fff; border: 0; padding: 10px 24px; cursor: pointer; }
.form-errors { background: #fbe9e7; border: 1px solid #e2a49a; padding: 10px 24px; }
.hp-field { display: none; }
.site-foot { border-top: 1px solid var(--line); margin-top: 32px; }
.foot-note { max-width: 1080px; margin: 0 auto; padding: 16px 20px; color: #66707c; font-size: 14px; }
.empty-note, .err-note { color: #66707c; }
.promo-rail { max-width: 1080px; margin: 0 auto; padding: 8px 20px; }
.promo-rail--sidebar { padding: 0; }
.promo-unit { font-size: 14px; margin: 4px 0; }
.promo-unit a { color: #66707c; text-decoration: underline dotted; }
.promo-unit img { max-width: 100%; height: auto; display: block; }
