/* Firmalar – haberler sayfası ile uyumlu başlık & arama kartı */
:root{ --tabbar-h:92px; }

.page-title { display:flex; align-items:center; gap:.5rem; margin-bottom:6px; }
.page-title-icon { width:32px; height:32px; border-radius:999px; background:#ecfdf5; display:flex; align-items:center; justify-content:center; color:#047857; }
.page-lead { color:#6b7280; font-size:.92rem; }

/* Arama kartı */
.search-card { border-radius: var(--radius); box-shadow: 0 6px 18px rgba(0,0,0,.05); border: 0; }
.search-card.kb-search-card--compact .card-body{ padding: 10px 12px; }
.search-card .form-label { font-size: .95rem; font-weight: 700; color: #38bdf8; letter-spacing: .01em; }
.search-card .form-control::placeholder { color: #374151; opacity: 1; }
.search-card .input-group-text { background: #ecfdf5; color: var(--kb-primary); border-color: #d1fae5; transition: all .15s ease; border-radius:.5rem 0 0 .5rem; }
.search-card .input-group-text .bi-search { font-size: 1.1rem; }
.search-card .form-control { transition: border-color .15s ease, box-shadow .15s ease; border-radius:0 .5rem .5rem 0; }
.search-card .input-group:focus-within .input-group-text { background: #d1fae5; color: #0f766e; border-color: #a7f3d0; }
.search-card .input-group:focus-within .form-control { border-color: var(--kb-primary); box-shadow: 0 0 0 .2rem rgba(22,160,133,.15); }

/* Sıralama menüsü – arama kutusuyla görsel uyum */
#firmSort.form-select {
  border-radius: 999px;
  border-color: #d1fae5;
  background-color: #ecfdf5;
  color: #374151;
  font-size: .85rem;
  padding: .25rem 2.25rem .25rem .9rem;
}
#firmSort.form-select:focus {
  border-color: var(--kb-primary);
  box-shadow: 0 0 0 .15rem rgba(22,160,133,.18);
}

.search-sticky { position: sticky; top: var(--kb-header-h, 56px); z-index: 1010; }

/* Grid – liste görünümü (haberler list mode gibi tek sütun) */
.firms-grid{ margin-top:14px; display:grid; grid-template-columns:1fr; gap:14px; }

/* Card */
.firm-card{ background:#ffffff; border-radius:18px; border:1px solid #e5e7eb; box-shadow:0 4px 14px rgba(15,23,42,.04); display:flex; flex-direction:row; align-items:stretch; overflow:hidden; transition:transform .12s ease, box-shadow .12s ease; }
.firm-card:hover{ transform:translateY(-2px); box-shadow:0 8px 26px rgba(15,23,42,.06); }
.firm-cover-wrap{ position:relative; background:#e5e7eb; flex:0 0 auto; }
.firm-cover{ width:340px; height:190px; object-fit:cover; display:block; }
.firm-body{ padding:14px 18px 8px; text-align:left; flex:1 1 auto; }
.firm-title-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:4px; }
.firm-title{ font-size:1.1rem; font-weight:800; line-height:1.3; }
.firm-badge{ font-size:.75rem; font-weight:600; color:#047857; background:#d1fae5; border-radius:999px; padding:2px 8px; white-space:nowrap; }
.firm-rating-line{ font-size:.9rem; color:#6b7280; display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-bottom:6px; }
.firm-stars i{ color:#facc15; }
.firm-rating-score{ font-weight:600; color:#16a085; }
.firm-rating-count{ font-size:.86rem; }
.firm-views{ font-size:.86rem; color:#0ea5e9; margin-left:8px; }
.firm-line{ display:flex; align-items:center; gap:6px; font-size:.95rem; color:#374151; margin-bottom:4px; }
.firm-line i{ color:#0ea5e9; }
.firm-sector{ font-size:.9rem; margin-top:4px; color:#4b5563; }
.firm-sector-label{ font-weight:600; color:#0ea5e9; }
.firm-footer{ padding:0 18px 12px; border-top:none; display:flex; justify-content:flex-start; align-items:center; gap:8px; }
.firm-footer .btn{ display:inline-flex; align-items:center; gap:6px; white-space:nowrap; border-radius:999px; }
.firm-footer .btn.btn-outline-success{ background:var(--kb-primary); border:1px solid var(--kb-primary); color:#ffffff; font-weight:700; font-size:.95rem; box-shadow:0 3px 10px rgba(22,160,133,.22); }
.firm-footer .btn.btn-outline-success:hover{ background:#13856f; border-color:#13856f; color:#ffffff; box-shadow:0 5px 16px rgba(19,133,111,.28); }

/* Tablet + mobil: kartın dikeyleşmesi ve butonun tam genişlik olması */
@media (max-width: 991.98px){
  .firm-card{ flex-direction:column; }
  .firm-cover{ width:100%; height:auto; aspect-ratio:720/376; }
  .firm-body{ padding:12px 12px 6px; }
  .firm-title{ font-size:1.05rem; }
  .firm-footer{ padding:0 12px 10px; justify-content:center; }
  .firm-footer .btn{ width:100%; padding:.8rem 1rem; font-size:1.05rem; border-radius:14px; justify-content:center; }
}

/* Mobile ergonomi */
@media (max-width: 767.98px){
  main { padding-bottom: calc(var(--tabbar-h) + 28px + env(safe-area-inset-bottom)); }
  .firms-grid::after { content:""; display:block; height: calc(var(--tabbar-h) + 8px); }
}
