/* tenders.best — the catalogue on the landing page (landcat.js) and the search in the first screen */
.hero__copy { min-width:0; }
.hsearch { box-sizing:border-box; width:100%; min-width:0; display:flex; align-items:center; gap:8px; max-width:560px; margin:0 0 14px; padding:6px 6px 6px 18px; border:1.5px solid var(--line-2,#d8dbea); border-radius:999px; background:#fff; box-shadow:0 18px 40px -26px rgba(76,29,149,.45); transition:border-color .2s ease,box-shadow .2s ease; }
.hsearch:focus-within { border-color:var(--violet,#7c3aed); box-shadow:0 0 0 4px rgba(124,58,237,.12),0 18px 40px -26px rgba(76,29,149,.45); }
.hsearch svg { flex:none; width:20px; height:20px; fill:none; stroke:#8b86a3; stroke-width:2; stroke-linecap:round; }
.hsearch input { flex:1; min-width:0; padding:10px 4px; border:0; outline:0; background:transparent; color:var(--ink,#0e1230); font:inherit; font-size:16px; }
.hsearch input::placeholder { color:#9a96ad; }
.hsearch .btn { flex:none; padding:12px 22px; white-space:nowrap; }
.hquick { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 26px; color:var(--muted,#6b7089); font-size:13.5px; }
.hquick a { padding:6px 12px; border:1px solid #e4dcf8; border-radius:999px; background:rgba(255,255,255,.8); color:#4b4560; font-weight:600; text-decoration:none; transition:border-color .2s ease,color .2s ease; }
.hquick a:hover { border-color:#c9adfa; color:var(--violet,#7c3aed); }

.lcat-sec { padding:56px 0 24px; }
.lcat { min-height:420px; }
.lcat__head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.lcat__head h2 { margin-top:14px; font-size:clamp(28px,3.2vw,40px); letter-spacing:-.02em; }
.lcat__total { display:flex; align-items:center; gap:10px; padding:12px 18px; border-radius:18px; background:linear-gradient(135deg,#f6f0ff,#eef3ff); color:var(--ink,#0e1230); text-decoration:none; white-space:nowrap; transition:transform .2s ease; }
.lcat__total b { font-size:24px; letter-spacing:-.02em; background:var(--grad-brand); -webkit-background-clip:text; background-clip:text; color:transparent; }
.lcat__total span { color:var(--ink-2,#363c5c); font-size:14px; font-weight:600; }
.lcat__total:hover { transform:translateY(-2px); }
.lcat__arr { flex:none; width:18px; height:18px; fill:none; stroke:var(--violet,#7c3aed); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.lcat__cats { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:10px; margin-bottom:22px; }
.lcat__cat { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:1px solid var(--line,#e6e8f2); border-radius:16px; background:#fff; color:var(--ink,#0e1230); font-size:14.5px; font-weight:600; text-decoration:none; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.lcat__cat b { flex:none; padding:3px 9px; border-radius:999px; background:#f3edff; color:#5b21b6; font-size:12.5px; font-variant-numeric:tabular-nums; }
.lcat__cat:hover { border-color:#cdb5fb; box-shadow:0 14px 30px -22px rgba(91,33,182,.55); transform:translateY(-2px); }
.lcat__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:18px; }
.lcat__box { padding:22px; border:1px solid var(--line,#e6e8f2); border-radius:24px; background:#fff; box-shadow:0 24px 50px -40px rgba(40,10,110,.45); }
.lcat__box h3 { margin:0 0 6px; font-size:20px; letter-spacing:-.01em; }
.lcat__sub { margin:14px 0 8px; color:#a39cb6; font-size:11.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.lcat__ctys { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:6px; }
.lcat__cty { display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:12px; color:var(--ink-2,#363c5c); font-size:14px; font-weight:600; text-decoration:none; transition:background-color .15s ease; }
.lcat__cty img { flex:none; border-radius:50%; box-shadow:0 0 0 1px rgba(30,20,70,.12); }
.lcat__cty span { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lcat__cty b { color:#8f87a5; font-size:12.5px; font-weight:700; font-variant-numeric:tabular-nums; }
.lcat__cty:hover { background:#f6f1ff; color:var(--violet,#7c3aed); }
.lcat__fresh { display:grid; gap:8px; margin:12px 0 16px; }
.lcat__tender { display:grid; gap:6px; padding:13px 14px; border:1px solid #efeaf8; border-radius:16px; color:var(--ink,#0e1230); text-decoration:none; transition:border-color .2s ease,background-color .2s ease; }
.lcat__tender:hover { border-color:#d6c3fb; background:#fcfaff; }
.lcat__tender b { font-size:15px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.lcat__tags { display:flex; flex-wrap:wrap; align-items:center; gap:8px; color:#6b7089; font-size:12.5px; font-weight:600; }
.lcat__tags img { width:16px; height:16px; border-radius:50%; box-shadow:0 0 0 1px rgba(30,20,70,.12); }
.lcat__tags i { padding:2px 8px; border-radius:999px; background:#fbeffd; color:#a21caf; font-style:normal; }
.lcat__dl { color:#6b7089; font-size:12.5px; }
.lcat__dl.is-hot { color:#c2410c; font-weight:700; }
.lcat__btn { width:100%; justify-content:center; }
@media (max-width:900px) {
  .lcat__grid { grid-template-columns:1fr; }
  .lcat__head { flex-direction:column; align-items:flex-start; }
}
@media (max-width:560px) {
  .hsearch { padding-left:14px; }
  .hsearch .btn { padding:10px 14px; font-size:14px; }
  .hsearch input { font-size:15px; }
  .hquick { gap:6px; }
  .hquick a { padding:5px 10px; font-size:12.5px; }
  .lcat__cats { grid-template-columns:1fr 1fr; }
  .lcat__cat { flex-direction:column; align-items:flex-start; gap:8px; padding:12px; font-size:13.5px; }
  .lcat__box { padding:16px; border-radius:20px; }
  .lcat__ctys { grid-template-columns:1fr 1fr; }
}
