/* NY-bay — стиль торговой площадки образца 2010 года */

* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font: 12px/1.55 Verdana, Arial, Helvetica, sans-serif;
  color: #333;
  background: #ffffff;
}
a { color: #0654ba; text-decoration: none; }
a:hover { text-decoration: underline; }
img { border: 0; }
ul, ol { list-style-position: inside; }

.wrap { width: 980px; margin: 0 auto; }
.clearfix:after { content: ""; display: table; clear: both; }
.muted { color: #888; font-weight: normal; }
.mini { font-size: 11px; margin-top: 4px; }
.req { color: #dd1e31; }
.inline-form { display: inline; }

/* ---------- Верхняя полоса ---------- */
#topbar {
  background: #f8f8f8;
  border-bottom: 1px solid #e5e5e5;
  font-size: 11px;
  padding: 5px 0;
}
.tb-left { float: left; }
.tb-right { float: right; }
.tb-right a, .tb-right button { margin: 0 2px; }
.sep { color: #ccc; margin: 0 4px; }
.tb-admin { font-weight: bold; color: #dd1e31 !important; }
.linklike {
  background: none; border: 0; padding: 0;
  color: #0654ba; font: 11px Verdana, Arial, sans-serif;
  cursor: pointer;
}
.linklike:hover { text-decoration: underline; }
.role-badge {
  background: #dd1e31; color: #fff;
  font-size: 9px; font-weight: bold;
  padding: 1px 5px; border-radius: 2px;
  text-transform: uppercase; letter-spacing: 0.5px;
}

/* ---------- Шапка ---------- */
#header { padding: 14px 0 10px; }
#logo-box { float: left; width: 250px; }
#logo {
  font: bold 44px/1 Arial, Helvetica, sans-serif;
  letter-spacing: -3px;
  text-decoration: none;
}
#logo:hover { text-decoration: none; }
#logo .c1 { color: #e53238; }
#logo .c2 { color: #0064d2; }
#logo .c3 { color: #f5af02; }
#logo .c4 { color: #86b817; }
#logo .cd { color: #999; }
#slogan { font-size: 10px; color: #999; margin-top: 2px; white-space: nowrap; }

#search { float: left; margin: 8px 0 0 30px; }
#search input[type="text"] {
  width: 330px; height: 30px;
  border: 2px solid #999;
  padding: 0 8px;
  font: 13px Verdana, Arial, sans-serif;
  vertical-align: middle;
}
#search input[type="text"]:focus { border-color: #0064d2; outline: none; }
#search select {
  height: 30px; border: 1px solid #999;
  font: 12px Verdana, Arial, sans-serif;
  vertical-align: middle;
  max-width: 170px;
}

/* ---------- Кнопки ---------- */
.btn {
  display: inline-block;
  padding: 5px 14px;
  font: bold 12px Verdana, Arial, sans-serif;
  color: #333;
  text-align: center;
  cursor: pointer;
  border: 1px solid #a7a7a7;
  border-radius: 3px;
  background: #fdfdfd;
  background: linear-gradient(#fdfdfd, #e3e3e3);
  text-decoration: none !important;
  vertical-align: middle;
}
.btn:hover { background: linear-gradient(#ffffff, #d5d5d5); text-decoration: none; }
.btn-primary {
  color: #fff;
  border-color: #16549c;
  background: #4a90e2;
  background: linear-gradient(#5ba0e8, #1e62b8);
  text-shadow: 0 -1px 0 rgba(0,0,0,0.25);
}
.btn-primary:hover { background: linear-gradient(#6cabee, #16549c); }
.btn-buy {
  color: #fff;
  border-color: #a01313;
  background: linear-gradient(#f05252, #c11919);
  text-shadow: 0 -1px 0 rgba(0,0,0,0.25);
}
.btn-buy:hover { background: linear-gradient(#f66, #a81212); }
.btn-danger { color: #a01313; }
.btn-sell {
  color: #fff;
  border-color: #6f9a13;
  background: linear-gradient(#9ed134, #6f9a13);
  text-shadow: 0 -1px 0 rgba(0,0,0,0.25);
  margin-left: 8px;
}
.btn-sell:hover { background: linear-gradient(#aade3f, #618708); }
.btn-search { height: 30px; padding: 0 18px; }
.btn-big { font-size: 13px; padding: 8px 22px; }
.btn-small { font-size: 11px; font-weight: normal; padding: 2px 8px; }
.btn-block { display: block; margin-bottom: 6px; width: 100%; }

/* ---------- Навигация ---------- */
#navbar {
  background: linear-gradient(#f7f7f7, #e8e8e8);
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ccc;
}
#navbar a {
  display: inline-block;
  padding: 7px 14px;
  font-size: 12px;
  font-weight: bold;
  color: #333;
  border-right: 1px solid #ddd;
}
#navbar a:first-child { border-left: 1px solid #ddd; }
#navbar a:hover { background: #fff; color: #0654ba; text-decoration: none; }

/* ---------- Страница ---------- */
#page { padding: 15px 0 30px; min-height: 400px; }

.flash {
  padding: 8px 12px;
  margin-bottom: 12px;
  border-radius: 3px;
  border: 1px solid;
}
.flash-ok   { background: #ecf7d4; border-color: #b3cc7f; color: #3d5c0d; }
.flash-warn { background: #fffbcc; border-color: #e0d382; color: #6b5d0c; }
.flash-err  { background: #fdeaea; border-color: #e3a1a1; color: #a01313; }
.flash ul { margin-top: 4px; }

/* ---------- Боксы ---------- */
.box {
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-bottom: 15px;
  background: #fff;
}
.box-head {
  background: linear-gradient(#f7f7f7, #e9e9e9);
  border-bottom: 1px solid #ccc;
  border-radius: 4px 4px 0 0;
  padding: 6px 12px;
  font-weight: bold;
  font-size: 12px;
}
.box-body { padding: 12px; }
.head-btn { float: right; margin-top: -3px; }

/* ---------- Колонки ---------- */
.cols { }
.sidebar { float: left; width: 200px; }
.main { float: right; width: 765px; }
.main-wide { width: 765px; }
.cols2 .col2 { float: left; width: 482px; }
.cols2 .col2 + .col2 { float: right; }

.cat-list { list-style: none; }
.cat-list li { border-bottom: 1px dotted #e5e5e5; }
.cat-list li:last-child { border-bottom: 0; }
.cat-list li a { display: inline-block; padding: 5px 10px; }
.cat-list li.active { background: #fffbcc; }
.cat-list li.active a { font-weight: bold; }
.cat-count { color: #999; font-size: 10px; }

.side-note {
  background: #fffbcc;
  border: 1px solid #e0d382;
  border-radius: 4px;
  padding: 10px 12px;
  font-size: 11px;
  margin-bottom: 15px;
}

/* ---------- Главная ---------- */
#welcome {
  background: linear-gradient(#fefce8, #fdf3c9);
  border: 1px solid #e8d98a;
  border-radius: 5px;
  padding: 18px 20px;
  margin-bottom: 15px;
}
#welcome .w-text { float: left; width: 660px; }
#welcome h1 { font-size: 22px; color: #333; margin-bottom: 6px; font-family: Arial, sans-serif; }
#welcome p { margin-bottom: 10px; }
#welcome .w-stats { float: right; width: 240px; font-size: 11px; padding-top: 8px; }
#welcome .w-stats div { padding: 3px 0; border-bottom: 1px dotted #d9c86e; }
#welcome .w-stats b { color: #dd1e31; font-size: 14px; }

/* ---------- Строки объявлений ---------- */
.l-row {
  border-bottom: 1px solid #eee;
  padding: 10px 0;
}
.l-row:last-child { border-bottom: 0; }
.l-thumb {
  float: left; width: 96px; height: 72px;
  border: 1px solid #ddd;
  background: #f8f8f8;
  text-align: center;
  overflow: hidden;
  display: block;
  position: relative;
}
.l-thumb img { width: 100%; height: 100%; object-fit: cover; }
.no-photo {
  color: #bbb; font-size: 10px;
  position: absolute; top: 50%; left: 0; right: 0;
  transform: translateY(-50%);
}
.l-info { float: left; width: 480px; margin-left: 12px; }
.l-title { font-size: 14px; font-weight: bold; }
.l-meta { font-size: 11px; color: #888; margin-top: 3px; }
.l-seller { font-size: 11px; color: #888; margin-top: 2px; }
.l-price {
  float: right;
  font: bold 16px Arial, sans-serif;
  color: #333;
  text-align: right;
  min-width: 110px;
}
.l-actions { float: right; text-align: right; margin-left: 10px; }
.l-actions form { margin-top: 4px; }
.has-video { color: #dd1e31; font-weight: bold; }
.reason-input { width: 110px; font-size: 11px; padding: 2px 4px; border: 1px solid #bbb; }

.pagination { margin-top: 12px; text-align: center; }
.pg {
  display: inline-block;
  padding: 3px 9px;
  border: 1px solid #ccc;
  border-radius: 3px;
  margin: 0 2px;
}
.pg.current { background: #0654ba; color: #fff; border-color: #0654ba; font-weight: bold; }

/* ---------- Страница объявления ---------- */
.breadcrumb { font-size: 11px; color: #888; margin-bottom: 10px; }
.l-h1 { font: bold 20px Arial, sans-serif; color: #333; margin-bottom: 4px; }
.l-sub { font-size: 11px; margin-bottom: 14px; }

.l-gallery { float: left; width: 640px; }
.g-main {
  border: 1px solid #ccc;
  background: #f8f8f8;
  text-align: center;
  margin-bottom: 8px;
}
.g-main img { max-width: 100%; max-height: 480px; vertical-align: middle; }
.g-empty { padding: 90px 0; color: #aaa; }
.g-thumbs img {
  width: 72px; height: 54px;
  object-fit: cover;
  border: 2px solid #ddd;
  margin-right: 6px;
  cursor: pointer;
}
.g-thumbs img.active, .g-thumbs img:hover { border-color: #0654ba; }
.g-video { margin-top: 12px; border: 1px solid #ccc; border-radius: 4px; overflow: hidden; }
.g-video video { width: 100%; display: block; }
.g-video iframe { display: block; }

.l-side { float: right; width: 325px; }
.price-box { padding: 12px; }
.price-big { font: bold 26px Arial, sans-serif; color: #333; margin-bottom: 10px; }
.seller-name { font-size: 14px; font-weight: bold; }
.l-desc { white-space: pre-wrap; font-size: 12px; }
.admin-box .box-head { background: linear-gradient(#fdeaea, #f5caca); border-color: #e3a1a1; }
.admin-box input.full { margin-bottom: 6px; }

/* ---------- Формы ---------- */
.form .frow { margin-bottom: 12px; }
.form .frow:after { content: ""; display: table; clear: both; }
.form label:first-child {
  float: left; width: 160px;
  padding-top: 5px;
  font-weight: bold;
  font-size: 12px;
}
.form .frow > div { margin-left: 175px; }
input[type="text"], input[type="password"], textarea, select {
  font: 12px Verdana, Arial, sans-serif;
  border: 1px solid #a7a7a7;
  padding: 5px 6px;
  border-radius: 2px;
}
input[type="text"]:focus, input[type="password"]:focus, textarea:focus, select:focus {
  border-color: #0064d2;
  outline: none;
  box-shadow: 0 0 3px rgba(0,100,210,0.3);
}
.full { width: 100%; }
textarea.full { resize: vertical; }
.chk { font-weight: normal; }
.chk input { vertical-align: middle; margin-right: 4px; }
.rules-note {
  background: #fffbcc;
  border: 1px solid #e0d382;
  border-radius: 3px;
  padding: 8px 12px;
  font-size: 11px;
  margin: 12px 0;
}

.auth-box { width: 480px; margin: 20px auto; }
.auth-box .form label:first-child { width: 140px; }
.auth-box .form .frow > div { margin-left: 155px; }
.auth-alt { border-top: 1px dotted #ddd; margin-top: 12px; padding-top: 10px; font-size: 11px; }
.auth-box-wide { width: 700px; margin: 0 auto 15px; }

.kv { border-collapse: collapse; margin-bottom: 12px; }
.kv td { padding: 3px 14px 3px 0; vertical-align: top; }
.kv td:first-child { color: #888; }

/* ---------- Статусы ---------- */
.status {
  display: inline-block;
  font-size: 10px;
  font-weight: bold;
  padding: 1px 7px;
  border-radius: 3px;
  border: 1px solid;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.st-pending  { background: #fffbcc; border-color: #e0d382; color: #6b5d0c; }
.st-approved { background: #ecf7d4; border-color: #b3cc7f; color: #3d5c0d; }
.st-rejected { background: #fdeaea; border-color: #e3a1a1; color: #a01313; }
.st-closed   { background: #eee;    border-color: #ccc;    color: #777; }
.st-done     { background: #e3effa; border-color: #9dc0e0; color: #16549c; }
.reject-reason { color: #a01313; font-size: 11px; margin-top: 3px; }

/* ---------- Сделки ---------- */
.deal-summary .ds-left { float: left; }
.deal-summary .l-price { padding-top: 8px; }
.deal-card {
  border: 1px solid #ddd;
  border-radius: 4px;
  margin-bottom: 10px;
}
.dc-head {
  background: #f5f5f5;
  border-bottom: 1px solid #ddd;
  padding: 5px 10px;
  font-size: 11px;
}
.dc-id { font-weight: bold; color: #888; }
.dc-head .status { float: right; }
.dc-body { padding: 10px; }
.dc-info { float: left; width: 300px; }
.dc-actions { float: right; width: 135px; }
.dc-actions form { margin-bottom: 5px; }
.contact-box {
  background: #ecf7d4;
  border: 1px solid #b3cc7f;
  border-radius: 3px;
  padding: 6px 9px;
  margin-top: 6px;
  font-size: 11px;
}

/* ---------- Правила ---------- */
.rules-box .box-head { background: linear-gradient(#fefce8, #f7edba); border-color: #e0d382; }
.rules-list { margin-left: 5px; }
.rules-list li { margin-bottom: 9px; }
.rules-toc ol li { padding: 2px 0; }
.rules-full h2 {
  font: bold 16px Arial, sans-serif;
  color: #16549c;
  border-bottom: 1px solid #ddd;
  margin: 22px 0 10px;
  padding-bottom: 4px;
}
.rules-full h2:first-child { margin-top: 0; }
.rules-full h3 { font-size: 13px; margin: 14px 0 6px; }
.rules-full p { margin-bottom: 8px; }
.r-ex {
  background: #f8f8f8;
  border-left: 3px solid #ccc;
  padding: 8px 12px;
  margin: 6px 0 12px;
  font-size: 11px;
  color: #555;
}
.r-ex ul { margin: 4px 0; }
.r-ex li { margin-bottom: 3px; }

/* ---------- Тикеты ---------- */
.tbl { width: 100%; border-collapse: collapse; }
.tbl th {
  text-align: left;
  background: #f5f5f5;
  border-bottom: 2px solid #ddd;
  padding: 6px 8px;
  font-size: 11px;
}
.tbl td { border-bottom: 1px solid #eee; padding: 7px 8px; vertical-align: middle; }
.row-banned td { background: #fdf3f3; }

.msg { border: 1px solid #ddd; border-radius: 4px; margin-bottom: 10px; }
.msg-head {
  background: #f5f5f5;
  border-bottom: 1px solid #ddd;
  padding: 5px 10px;
  font-size: 11px;
}
.msg-head .muted { float: right; }
.msg-body { padding: 10px; white-space: pre-wrap; }
.msg-admin { border-color: #9dc0e0; }
.msg-admin .msg-head { background: #e3effa; border-color: #9dc0e0; }
.tg-ok { color: #3d5c0d; font-weight: bold; }

/* ---------- Отзывы ---------- */
.fb-badge {
  display: inline-block;
  width: 18px; height: 18px;
  line-height: 18px;
  text-align: center;
  font: bold 13px Arial, sans-serif;
  color: #fff;
  border-radius: 50%;
  vertical-align: middle;
}
.fb-pos { background: #6f9a13; }
.fb-neu { background: #999; }
.fb-neg { background: #c11919; }
.fb-score { color: #6f9a13; font: bold 13px Arial, sans-serif; }
.fb-table td { padding: 4px 10px 4px 0; }

.rating-picker .rt {
  display: block;
  padding: 5px 8px;
  border: 1px solid #ddd;
  border-radius: 3px;
  margin-bottom: 5px;
  cursor: pointer;
  font-weight: normal;
  width: 250px;
}
.rating-picker .rt:hover { background: #f8f8f8; }
.rating-picker input { vertical-align: middle; margin-right: 6px; }

.review-row {
  border-bottom: 1px solid #eee;
  padding: 9px 0;
}
.review-row:last-child { border-bottom: 0; }
.review-row > .fb-badge { float: left; margin-top: 2px; }
.review-body { margin-left: 28px; margin-right: 80px; }
.review-comment { font-size: 12px; }
.review-del { float: right; }

/* ---------- Админка ---------- */
.admin-nav { margin-bottom: 15px; border-bottom: 2px solid #dd1e31; }
.admin-nav a {
  display: inline-block;
  padding: 6px 16px;
  font-weight: bold;
  color: #333;
  background: linear-gradient(#f7f7f7, #e8e8e8);
  border: 1px solid #ccc;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  margin-right: 3px;
}
.admin-nav a:hover { text-decoration: none; background: #fff; }
.admin-nav a.active { background: #dd1e31; color: #fff; border-color: #dd1e31; }
.count-badge {
  background: #dd1e31; color: #fff;
  border-radius: 8px;
  font-size: 10px;
  padding: 1px 6px;
}
.admin-nav a.active .count-badge { background: #fff; color: #dd1e31; }

.tabs { margin-bottom: 12px; }
.tabs a {
  display: inline-block;
  padding: 4px 12px;
  border: 1px solid #ccc;
  border-radius: 3px;
  margin-right: 4px;
  font-size: 11px;
}
.tabs a.active { background: #0654ba; color: #fff; border-color: #0654ba; font-weight: bold; }

.stat-row { margin-bottom: 15px; }
.stat {
  float: left;
  width: 155px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: linear-gradient(#fdfdfd, #f0f0f0);
  text-align: center;
  padding: 10px 0;
  margin-right: 10px;
}
.stat:last-child { margin-right: 0; }
.stat b { display: block; font: bold 22px Arial, sans-serif; color: #16549c; }
.stat span { font-size: 10px; color: #888; }

.sort-form { float: right; font-weight: normal; font-size: 11px; }
.sort-form select, .sort-form input { font-size: 11px; padding: 2px 4px; }

/* ---------- Карта ---------- */
.map-body { text-align: center; }
.map-holder { position: relative; display: inline-block; }
.city-map { max-width: 100%; border: 1px solid #ccc; display: block; }
.boro-label {
  position: absolute;
  transform: translate(-50%, -50%);
  font: bold 15px Arial, sans-serif;
  color: #fff;
  letter-spacing: 2px;
  text-shadow: 0 0 4px #000, 0 0 4px #000, 1px 1px 2px #000;
  pointer-events: none;
}
.map-missing {
  padding: 70px 20px;
  background: #f8f8f8;
  border: 1px dashed #ccc;
  color: #888;
}
.map-legend { text-align: left; margin-top: 12px; font-size: 11px; }
.map-legend div { margin-bottom: 5px; }
.lg {
  display: inline-block;
  width: 14px; height: 14px;
  border: 1px solid #999;
  vertical-align: middle;
  margin-right: 6px;
}
.lg-green { background: #3e7d32; }
.lg-yellow { background: #e0a520; }
.lg-gray { background: #9aa0a6; }

/* ---------- Помощь ---------- */
.help-body h3 { font-size: 13px; color: #16549c; margin: 14px 0 4px; }
.help-body h3:first-child { margin-top: 0; }
.help-body p { margin-bottom: 8px; }

/* ---------- Подвал ---------- */
#footer {
  border-top: 3px solid #0064d2;
  background: #f8f8f8;
  padding: 15px 0 25px;
  font-size: 11px;
  color: #888;
  text-align: center;
}
.f-links { margin-bottom: 8px; }
.f-copy { margin-bottom: 12px; line-height: 1.7; }
.f-disclaimer {
  display: inline-block;
  background: #fffbcc;
  border: 1px solid #e0d382;
  border-radius: 3px;
  padding: 7px 16px;
  color: #6b5d0c;
  font-weight: bold;
  font-size: 11px;
}

.err-box { width: 500px; margin: 40px auto; }
