/* ============================================================
 * solutions-directory.css — page-scoped styles for
 * /directories/solutions (the Solutions listing hub).
 * All selectors are prefixed `.sold-` so nothing leaks into
 * shared chrome. Ported from the approved HTML mock
 * (goodfirms-solutions-listing_2.html); header/footer come
 * from the global SiteShell, so those mock styles are dropped.
 * ============================================================ */

.sold{
  --sold-dark:#171923;
  --sold-gold:#c5a063;
  --sold-gold-soft:rgba(197,160,99,.12);
  --sold-ink:#2a364d;
  --sold-muted:#5b6577;
  --sold-line:#e7eaf0;
  --sold-bg-soft:#f7f8fa;
  --sold-r-sm:6px;
  --sold-r-lg:12px;
  --sold-shadow:0 5px 20px rgba(42,54,77,.06);
  --sold-tr:all ease 400ms;
  background:var(--sold-bg-soft);
  color:var(--sold-ink);
}
.sold-wrap{max-width:1200px;margin:0 auto;padding:0 24px;}

/* page head */
.sold-head{background:var(--sold-dark);color:#fff;padding:44px 0 40px;}
.sold-crumbs{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:14px;}
.sold-crumbs a{color:rgba(255,255,255,.5);transition:var(--sold-tr);}
.sold-crumbs a:hover{color:var(--sold-gold);}
.sold-crumbs span{color:var(--sold-gold);}
.sold-head h1{color:#fff;font-size:clamp(26px,3.4vw,36px);font-weight:800;line-height:1.25;}
.sold-head p{color:rgba(255,255,255,.7);font-size:15.5px;max-width:640px;margin-top:8px;line-height:1.6;}

/* listing */
.sold-listing{padding:40px 0 64px;}
.sold-list-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px;}
.sold-count{font-size:14px;color:var(--sold-muted);}
.sold-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;list-style:none;margin:0;padding:0;}
.sold-card{background:#fff;border:1px solid var(--sold-line);border-radius:var(--sold-r-lg);padding:24px;box-shadow:var(--sold-shadow);display:flex;flex-direction:column;height:100%;transition:var(--sold-tr);}
.sold-card:hover{transform:translateY(-4px);border-color:rgba(197,160,99,.6);box-shadow:0 12px 30px rgba(42,54,77,.10);}
.sold-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px;}
.sold-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;flex:none;}
.sold-icon img{width:100%;height:100%;object-fit:contain;display:block;}
.sold-badge{font-size:11.5px;font-weight:600;border-radius:999px;padding:4px 11px;font-family:'Roboto',sans-serif;}
.sold-badge-popular{color:#d4552b;background:rgba(212,85,43,.09);}
.sold-card h2{font-size:18px;margin-bottom:8px;font-family:'Manrope',sans-serif;font-weight:700;color:var(--sold-dark);line-height:1.25;}
.sold-desc{font-size:13.8px;color:var(--sold-muted);margin-bottom:16px;flex:1;line-height:1.6;}
.sold-meta{display:flex;border-top:1px solid var(--sold-line);padding-top:13px;margin-bottom:16px;}
.sold-meta div{flex:1;text-align:center;}
.sold-meta div+div{border-left:1px solid var(--sold-line);}
.sold-mv{font-family:'Manrope',sans-serif;font-weight:700;font-size:14.5px;color:var(--sold-dark);}
.sold-ml{font-size:11px;color:var(--sold-muted);text-transform:uppercase;letter-spacing:.05em;}
.sold-cta{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--sold-dark);font-family:'Roboto',sans-serif;}
.sold-cta .sold-arr{transition:var(--sold-tr);flex:none;}
.sold-card:hover .sold-cta{color:var(--sold-gold);}
.sold-card:hover .sold-cta .sold-arr{transform:translateX(4px);}

/* cta band */
.sold-band{background:var(--sold-dark);border-radius:var(--sold-r-lg);padding:36px 44px;display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 auto 64px;}
.sold-band h2{color:#fff;font-size:22px;margin-bottom:6px;font-family:'Manrope',sans-serif;font-weight:700;line-height:1.25;}
.sold-band p{color:rgba(255,255,255,.68);font-size:14.5px;max-width:520px;line-height:1.6;}
.sold-band-btn{flex:none;display:inline-flex;align-items:center;gap:10px;background:var(--sold-gold);color:#171923;font-family:'Roboto',sans-serif;font-weight:600;font-size:14px;padding:12px 24px;border-radius:var(--sold-r-sm);white-space:nowrap;transition:var(--sold-tr);}
.sold-band-btn:hover{background:#b28d50;color:#171923;}

@media(max-width:1024px){.sold-cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){
  .sold-cards{grid-template-columns:1fr;}
  .sold-band{flex-direction:column;align-items:flex-start;padding:28px 24px;}
}
@media(prefers-reduced-motion:reduce){.sold-card,.sold-cta .sold-arr,.sold-band-btn{transition:none;}}
.sold-card:focus-visible,.sold-band-btn:focus-visible{outline:2px solid var(--sold-gold);outline-offset:2px;}
