/* ==== SoHo Recipe Finder — Görselle birebir ==== */
.soho-rf{
  --container: 1160px;
  --band: #fff6ea;         /* üstteki açık bej bant */
  position: relative;
  padding: 0 0 40px;
}
.soho-rf::before{          /* üst bant */
  content:"";
  position:absolute; inset:0 0 auto 0; height:200px;
  background: var(--band);
  z-index: 0;
}

/* Başlıklar */
.soho-rf-title{
  position:relative; z-index:1;
  max-width:var(--container); margin:20px auto 6px;
  text-align:center; color:#102874;
  font-family:'Playfair Display',serif; font-weight:800;
  font-size:30px; line-height:1.25; letter-spacing:.1px;
}
.soho-rf-sub{
  position:relative; z-index:1;
  max-width:var(--container); margin:0 auto 14px;
  text-align:center; color:#7b7f87; font-size:14px;
}

/* Arama */
.soho-rf-search{
  position:relative; z-index:1;
  max-width:640px; margin:0 auto 16px;
}
.soho-rf-search input{
  width:100%; height:44px; border:1px solid #dfe5ee; border-radius:999px;
  background:#fff; padding:0 52px 0 16px; font-size:15px; color:#111827; outline:none;
  box-shadow:0 1px 0 rgba(17,24,39,.02);
}
.soho-rf-search input::placeholder{color:#9aa3af}
.soho-rf-search button{
  position:absolute; right:6px; top:50%; transform:translateY(-50%);
  width:36px; height:36px; border-radius:999px; border:1px solid #dfe5ee;
  background:#fff; color:#102874; cursor:pointer; display:grid; place-items:center;
}
.soho-rf-search button:hover{background:#f2f6ff}

/* Dropdown satırı */
.soho-rf-filters{
  position:relative; z-index:1;
  max-width:var(--container); margin:6px auto 18px;
  display:flex; flex-wrap:wrap; gap:10px; justify-content: center;
}
.soho-rf-dd{position:relative}
.soho-rf-dd-toggle{
  display:flex; align-items:center; gap:8px; padding:9px 14px;
  border-radius:999px; border:1px solid #dfe5ee; background:#fff;
  cursor:pointer; font-weight:600; color:#1f2937; font-size:14px;
}
.soho-rf-caret{
  width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent;
  border-top:6px solid #6b7280; transition:transform .2s;
}
.soho-rf-dd.is-open .soho-rf-caret{transform:rotate(180deg)}
.soho-rf-dd-menu{
  position:absolute; top:100%; left:0; z-index:50; display:none;
  background:#fff; border:1px solid #e5e7eb; border-radius:10px;
  box-shadow:0 14px 30px rgba(0,0,0,.08); padding:8px; margin-top:6px; min-width:220px;
}
.soho-rf-dd.is-open .soho-rf-dd-menu{display:block; animation:fadeIn .12s ease}
@keyframes fadeIn{from{opacity:.5; transform:translateY(-2px)} to{opacity:1; transform:none}}
.soho-rf-dd-menu button{
  display:block; width:100%; text-align:left; padding:9px 10px; border-radius:8px;
  border:0; background:transparent; cursor:pointer; font-size:14px; color:#111827;
}
.soho-rf-dd-menu button:hover{background:#f3f4f6}
.soho-rf-dd-menu button.is-active{background:#e9f7ee; color:#0d531f; font-weight:700}

/* Sonuç grid */
.soho-rf-results{max-width:var(--container); margin:0 auto}
.soho-rf-loading,.soho-rf-empty{ text-align:center; color:#6b7280; padding:24px }
.soho-rf-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:6px }
@media (max-width:1024px){ .soho-rf-grid{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:640px){  .soho-rf-grid{ grid-template-columns:1fr } }

/* Kart */
.soho-rf-card{
  background:#fff; border:1px solid #e6e8ec; border-radius:8px; overflow:hidden;
  box-shadow:0 1px 2px rgba(16,24,40,.06);
  transition:transform .12s ease, box-shadow .12s ease;
}
.soho-rf-card:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,0,0,.06) }
.soho-rf-thumb img{ display:block; width:100%; height:214px; object-fit:cover }
.soho-rf-noimg{ height:214px; display:flex; align-items:center; justify-content:center; background:#f3f4f6; color:#9ca3af }
.soho-rf-card-body{ padding:14px 16px 16px }
.soho-rf-card-title{ margin:0 0 8px; font-size:16px; font-weight:700; line-height:1.35; color:#0f172a }
.soho-rf-meta{ color:#6b7280; font-size:13px; line-height:1.55; margin-bottom:10px }
.soho-rf-view{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:600; color:#0f1d5b; text-decoration:none;
}
.soho-rf-view::after{display:none }

/* Load more */
.soho-rf-more{ text-align:center; margin-top:10px }
.soho-rf-loadmore{
  padding:8px 14px; border-radius:6px; border:0; background:#0f1d5b; color:#fff; font-size:12px;
}
.soho-rf-loadmore::after{content:"\2193"; margin-left:6px; font-size:12px}
.soho-rf-loadmore:hover{ filter:brightness(1.05) }
.soho-rf-results {
    margin-top: 100px;
}

.soho-rf::before{
    width: 120vw;
    left: -15vw;
    top: -1vw;
    height: 275px;
}