/* Global Deal Bridge — listings refinement */
:root{--list-navy:#15356f;--list-line:rgba(21,53,111,.11);--list-shadow:0 24px 55px -43px rgba(18,38,78,.62)}
body{background:#f5f6f8!important}
.listings-layout{max-width:1400px;margin:0 auto;padding-top:1.2rem!important}
.listings-main,.listings-sidebar{width:100%;max-width:1048px;justify-self:start}
.listings-sidebar{z-index:20}

/* One composed filter console. */
.filter-bar{
  min-height:58px;
  border:1px solid var(--list-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:var(--list-shadow)!important;
}
.filter-bar .fp,.filter-bar .fp-input,.filter-bar .fp-more,.filter-bar .fb-foot{height:58px!important}
.filter-bar .fp,.filter-bar .fp-input,.filter-bar .fp-more{padding:0 1rem!important}
.filter-bar #cityField{border-radius:15px 0 0 15px!important}
.filter-bar .fp.active,.filter-bar .fp-more.active{
  background:#edf1f6!important;
  color:var(--list-navy)!important;
  box-shadow:inset 0 -2px 0 var(--list-navy)!important;
}
.filter-bar .fp-count,.filter-bar .fp-more-count{
  display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--list-navy);color:#fff;font-size:.62rem;font-weight:750
}
.filter-bar .fb-foot,.filter-bar .fb-foot .fp-cta,.filter-bar .fb-clear-link{height:58px!important}
.filter-bar .fb-foot .fp-cta{background:var(--list-navy)!important;border-radius:0 15px 15px 0!important}
.filter-bar .fb-foot:has(.fb-clear-link:not([hidden])) .fp-cta{border-radius:0!important}
.filter-bar .fb-clear-link{border-radius:0 15px 15px 0!important;color:#657187!important}
.filter-bar .fb-clear-link:hover{color:#9b3847!important;background:#faf7f8!important}
.filter-bar :is(.dd-menu,.price-pop){z-index:200!important;max-height:min(60vh,460px)}

/* Selected subcategories stay visible and individually removable. */
.active-subfilters{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;min-height:0;margin-top:.7rem}
.active-subfilters:empty{display:none}
.subfilter-label{font-size:.62rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:#7a8495;margin-right:.2rem}
.subfilter-chip{display:inline-flex;align-items:center;gap:.55rem;min-height:32px;padding:.38rem .45rem .38rem .75rem;border:1px solid rgba(21,53,111,.14);border-radius:999px;background:#fff;color:var(--list-navy);font-size:.74rem;font-weight:650;box-shadow:0 9px 22px -20px rgba(21,53,111,.55)}
.subfilter-chip span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#edf1f6;color:var(--list-navy);font-size:.82rem;transition:.18s ease}
.subfilter-chip:hover span{background:var(--list-navy);color:#fff}

.filter-notice{position:fixed;z-index:1200;right:1.5rem;bottom:1.5rem;max-width:360px;padding:.95rem 1.1rem;border:1px solid rgba(21,53,111,.12);border-left:3px solid var(--list-navy);border-radius:14px;background:#fff;color:#34445f;box-shadow:0 22px 50px -26px rgba(13,35,79,.65);font-size:.82rem;line-height:1.45;opacity:0;transform:translateY(12px);pointer-events:none;transition:.24s ease}
.filter-notice.show{opacity:1;transform:none}
.filter-notice strong{display:block;margin-bottom:.15rem;color:var(--list-navy)}

/* Cards use consistent content zones. */
.listing-card{grid-template-columns:250px minmax(0,1fr) 190px!important;min-height:190px;border-left:1px solid var(--list-line)!important;border-radius:18px!important;box-shadow:0 22px 50px -43px rgba(13,35,79,.65)!important}
.listing-card:hover{box-shadow:0 26px 55px -38px rgba(13,35,79,.65)!important}
.listing-img{border-radius:17px 0 0 17px!important}
.listing-img-placeholder{display:grid;place-items:center;background-color:#eef0f3!important;background-image:linear-gradient(135deg,rgba(255,255,255,.72),transparent 48%),repeating-linear-gradient(135deg,transparent 0 18px,rgba(21,53,111,.025) 18px 19px)!important}
.listing-img-placeholder::before{content:'Opportunity profile';padding:.55rem .75rem;border:1px solid rgba(21,53,111,.11);border-radius:999px;background:rgba(255,255,255,.72);color:#7b8595;font-size:.6rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.listing-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;min-height:2.4em;max-width:100%;font-size:1.25rem!important}
.listing-desc{-webkit-line-clamp:3!important;transform:translateY(-6px)}
.lc-price-col{min-width:0;padding:1.35rem 1.2rem!important}
.lc-price{width:100%;font-size:clamp(1.05rem,1.6vw,1.42rem)!important;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}

/* Empty, loading and error states share one intentional language. */
.empty-state,.listings-state{margin:0;padding:4.5rem 2rem;border:1px solid var(--list-line);border-radius:18px;background:#fff;box-shadow:var(--list-shadow);text-align:center}
.empty-state::before,.listings-state::before{content:'◇';display:grid;place-items:center;width:46px;height:46px;margin:0 auto 1.2rem;border-radius:50%;background:#edf1f6;color:var(--list-navy);font-size:1.1rem}
.empty-state h2,.listings-state h2{font-family:inherit!important;font-size:1.55rem!important;font-weight:650;color:var(--list-navy);letter-spacing:-.025em}
.empty-state p,.listings-state p{max-width:560px;margin:.65rem auto 0;color:#667286;line-height:1.6}
.empty-state-actions button:first-child{border-color:var(--list-navy)!important;background:var(--list-navy)!important}
.listings-loading{display:grid;gap:1rem;padding:0;border:0;background:transparent;box-shadow:none}
.listings-loading::before{display:none}
.listing-skeleton{height:190px;border-radius:18px;background:linear-gradient(90deg,#eef0f3 25%,#f8f9fa 42%,#eef0f3 60%);background-size:300% 100%;animation:list-shimmer 1.3s infinite}
.listings-error button{min-height:42px;margin-top:1.3rem;padding:.65rem 1rem;border:1px solid var(--list-navy);border-radius:10px;background:var(--list-navy);color:#fff;font-size:.74rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
@keyframes list-shimmer{to{background-position:-300% 0}}

.mobile-filter-trigger,.mobile-filter-backdrop,.mobile-filter-head{display:none}

@media(max-width:1080px){
  .listings-main,.listings-sidebar{max-width:none}
  .filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .listing-card{grid-template-columns:200px minmax(0,1fr) 175px!important}
}
@media(max-width:700px){
  .listings-layout{display:block!important;padding:1rem!important}
  .mobile-filter-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin:0 0 1rem;padding:0 1rem;border:1px solid var(--list-line);border-radius:14px;background:#fff;color:var(--list-navy);font-size:.75rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--list-shadow)}
  .mobile-filter-count{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--list-navy);color:#fff;font-size:.68rem}
  .mobile-filter-backdrop{display:block;position:fixed;z-index:1090;inset:0;border:0;background:rgba(12,28,58,.38);opacity:0;pointer-events:none;transition:opacity .25s ease}
  .listings-sidebar{position:fixed!important;z-index:1100!important;inset:auto 0 0!important;max-height:88svh;margin:0!important;padding:0 1rem 1rem;border-radius:24px 24px 0 0;background:#f5f6f8;box-shadow:0 -22px 60px -28px rgba(13,35,79,.7);overflow-y:auto;transform:translateY(105%);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
  body.mobile-filters-open{overflow:hidden}
  body.mobile-filters-open .listings-sidebar{transform:none}
  body.mobile-filters-open .mobile-filter-backdrop{opacity:1;pointer-events:auto}
  .mobile-filter-head{position:sticky;z-index:8;top:0;display:flex;align-items:center;justify-content:space-between;padding:1rem .15rem .8rem;background:#f5f6f8;color:var(--list-navy)}
  .mobile-filter-head strong{font-size:1rem}
  .mobile-filter-head button{width:34px;height:34px;border:1px solid var(--list-line);border-radius:50%;background:#fff;color:var(--list-navy);font-size:1rem}
  .filter-bar{display:grid!important;grid-template-columns:1fr!important;border-radius:16px!important;overflow:visible}
  .filter-bar #cityField,.filter-bar .fp,.filter-bar .fp-input,.filter-bar .fp-more,.filter-bar .fb-foot{border-right:0!important;border-bottom:1px solid var(--list-line)!important;border-radius:0!important}
  .filter-bar #cityField{border-radius:15px 15px 0 0!important}
  .filter-bar .fb-foot{border-bottom:0!important}
  .filter-bar .fb-foot .fp-cta{border-radius:0 0 15px 15px!important}
  .filter-bar .fb-foot:has(.fb-clear-link:not([hidden])) .fp-cta{border-radius:0!important}
  .filter-bar .fb-clear-link{border-radius:0 0 15px 0!important}
  .active-subfilters{padding:.2rem .2rem .6rem}
  .filter-notice{right:1rem;left:1rem;bottom:1rem;max-width:none}
  .listing-card{grid-template-columns:1fr!important;border-radius:18px!important}
  .listing-img{aspect-ratio:16/7!important;border-radius:17px 17px 0 0!important}
}
