/* Турбиржа и форма «Подобрать гида» (/turbirzha, /zakaz) — 14.10.2026 */
.tb-hero { background: linear-gradient(135deg, #0f4c3a 0%, #1d6b52 55%, #c9822b 140%); color: #fff; padding: 36px 0 30px; }
.tb-hero h1 { font-size: 1.75rem; font-weight: 800; letter-spacing: -0.02em; margin: 0 0 10px; color: #fff; }
.tb-hero p { margin: 0 0 8px; max-width: 760px; opacity: .93; line-height: 1.55; }
.tb-hero .breadcrumb, .tb-hero .breadcrumb a { color: rgba(255,255,255,.8); padding-top: 0; }
.tb-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.tb-hero-actions .btn { background: #fff; color: #0f4c3a; border-color: #fff; font-weight: 700; }
.tb-hero-actions .btn.tb-ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.7); }
.tb-wrap { padding: 26px 0 48px; }
.tb-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 26px; }
.tb-step { background: var(--color-white); border: 1px solid var(--color-border); border-radius: 12px; padding: 14px 16px; font-size: .9rem; line-height: 1.5; }
.tb-step b { display: block; font-size: .95rem; margin-bottom: 4px; }
.tb-list { display: flex; flex-direction: column; gap: 12px; }
.tb-card { display: block; background: var(--color-white); border: 1px solid var(--color-border); border-radius: 12px; padding: 16px 18px; color: inherit; text-decoration: none; transition: border-color .2s, box-shadow .2s; }
a.tb-card:hover { border-color: var(--color-primary); box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.tb-card-top { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; font-size: .8rem; color: var(--color-text-muted); margin-bottom: 6px; }
.tb-card h2, .tb-card h3 { font-size: 1.08rem; font-weight: 700; margin: 0 0 6px; line-height: 1.35; }
.tb-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .88rem; color: var(--color-text); }
.tb-badge { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: .75rem; font-weight: 700; background: var(--color-primary-bg); color: var(--color-primary-dark); }
.tb-badge.is-open { background: #dcfce7; color: #166534; }
.tb-badge.is-full { background: #fef3c7; color: #92400e; }
.tb-badge.is-closed, .tb-badge.is-new, .tb-badge.is-spam { background: #e5e7eb; color: #374151; }
.tb-money { font-weight: 700; color: #92400e; }
.tb-card.is-dim { opacity: .65; }
.tb-details { white-space: pre-line; line-height: 1.6; margin: 14px 0; }
.tb-box { background: var(--color-white); border: 1px solid var(--color-border); border-radius: 12px; padding: 18px; margin: 18px 0; }
.tb-box h2 { font-size: 1.15rem; margin: 0 0 10px; }
.tb-box.is-contact { border-color: #86efac; background: #f0fdf4; }
.tb-box.is-note { background: #fffbeb; border-color: #fde68a; }
.tb-rules ol, .tb-rules ul { padding-left: 20px; line-height: 1.6; }
.tb-rules li { margin-bottom: 6px; }
.tb-grid2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 14px; }
.tb-kind { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; margin-bottom: 16px; }
.tb-kind label { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--color-border); border-radius: 10px; cursor: pointer; font-size: .9rem; line-height: 1.4; background: var(--color-white); }
.tb-kind input { margin-top: 3px; width: auto; }
.tb-kind label:has(input:checked) { border-color: var(--color-primary); box-shadow: 0 0 0 2px var(--color-primary-bg); }
.tb-form { max-width: 760px; }
.tb-form .form-checkbox input { width: auto; }
.tb-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.tb-table th, .tb-table td { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--color-border); vertical-align: top; }
.tb-scroll { overflow-x: auto; }
.tb-outcome { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.tb-outcome select, .tb-outcome input[type=text] { padding: 8px 10px; border: 1px solid var(--color-border); border-radius: 8px; font-size: .88rem; max-width: 100%; }
.tb-outcome input[type=text] { flex: 1 1 200px; min-width: 0; }
@media (max-width: 640px) {
  .tb-hero { padding: 26px 0 22px; }
  .tb-hero h1 { font-size: 1.4rem; }
  .tb-steps, .tb-grid2, .tb-kind { grid-template-columns: minmax(0, 1fr); }
}
