/* ============================================================
   TenderNotice Africa — Homepage CSS
   Design: matching tendersinsouthafrica.com layout & style
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#1a1a2e;background:#fff;font-size:15px;line-height:1.6}
a{color:#1a56db;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.center{text-align:center}

/* ── TOP BAR ────────────────────────────────────────────── */
.topbar{background:#1a56db;color:#fff;text-align:center;padding:8px 20px;font-size:12.5px;font-weight:500}
.topbar strong{font-weight:700}

/* ── NAV ─────────────────────────────────────────────────── */
.nav{background:#fff;border-bottom:2px solid #e8f0fe;padding:0 20px;position:sticky;top:0;z-index:200;box-shadow:0 1px 8px rgba(26,86,219,.08)}
.nav-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;height:64px;gap:0}
.logo{display:flex;align-items:center;gap:10px;margin-right:32px;flex-shrink:0;text-decoration:none}
.logo-text{line-height:1.1}
.logo-name{font-size:16px;font-weight:800;color:#1a1a2e;letter-spacing:-.3px}
.logo-name span{color:#1a56db}
.logo-tag{font-size:8px;color:#f3a000;letter-spacing:1.8px;text-transform:uppercase;font-weight:700}
.nav-links{display:flex;flex:1;gap:0}
.nav-links a{padding:0 13px;height:64px;display:flex;align-items:center;font-size:13px;font-weight:500;color:#374151;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.nav-links a:hover,.nav-links a.on{color:#1a56db;border-bottom-color:#1a56db;text-decoration:none}
.nav-actions{display:flex;gap:8px;align-items:center;margin-left:auto}
.btn-login{padding:7px 16px;border:1.5px solid #1a56db;border-radius:6px;font-size:13px;font-weight:600;color:#1a56db;background:#fff;cursor:pointer}
.btn-login:hover{background:#eff6ff;text-decoration:none}
.btn-signup{padding:8px 18px;border:none;border-radius:6px;font-size:13px;font-weight:700;background:#1a56db;color:#fff;cursor:pointer}
.btn-signup:hover{background:#1447b0;text-decoration:none}
.hamburger{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:#374151;margin-left:12px}

/* ── HERO ────────────────────────────────────────────────── */
.hero{background:linear-gradient(135deg,#eff6ff 0%,#e8f0fe 50%,#f0f9ff 100%);padding:64px 20px 0;border-bottom:1px solid #dbeafe}
.hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:start}
.hero h1{font-size:46px;font-weight:900;color:#1a1a2e;line-height:1.05;letter-spacing:-1.5px;margin-bottom:18px}
.hero h1 .highlight{color:#1a56db}
.hero-sub{font-size:16px;color:#4b5563;line-height:1.75;margin-bottom:28px;max-width:480px}
.hero-btns{display:flex;gap:12px;margin-bottom:36px;flex-wrap:wrap}
.btn-primary-lg{display:inline-flex;align-items:center;padding:13px 28px;background:#1a56db;color:#fff;border-radius:8px;font-size:15px;font-weight:700;border:none;cursor:pointer;font-family:inherit;text-decoration:none;transition:background .15s}
.btn-primary-lg:hover{background:#1447b0;text-decoration:none;color:#fff}
.btn-outline-lg{display:inline-flex;align-items:center;padding:12px 26px;border:2px solid #1a56db;color:#1a56db;border-radius:8px;font-size:15px;font-weight:700;background:#fff;cursor:pointer;text-decoration:none;transition:all .15s}
.btn-outline-lg:hover{background:#eff6ff;text-decoration:none}
.hero-stats{display:flex;gap:0;flex-wrap:wrap;margin-top:8px;background:rgba(26,86,219,.06);border:1px solid rgba(26,86,219,.12);border-radius:10px;overflow:hidden}
.hs{padding:14px 22px;border-right:1px solid rgba(26,86,219,.1);flex:1;min-width:100px}
.hs:last-child{border-right:none}
.hs-num{font-size:24px;font-weight:800;color:#1a56db;letter-spacing:-.5px;line-height:1}
.hs-lbl{font-size:10.5px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-weight:500}

/* SEARCH CARD */
.search-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 8px 32px rgba(26,86,219,.12);border:1px solid #dbeafe;margin-bottom:0;position:relative;top:0}
.search-title{font-size:16px;font-weight:700;color:#1a1a2e;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}
.sf{margin-bottom:12px}
.sf label{display:block;font-size:11.5px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px}
.sf input,.sf select{width:100%;padding:10px 13px;border:1.5px solid #e5e7eb;border-radius:7px;font-size:13.5px;color:#1a1a2e;background:#f9fafb;font-family:inherit;transition:border-color .15s}
.sf input:focus,.sf select:focus{outline:none;border-color:#1a56db;background:#fff}
.sf-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.search-btn{width:100%;padding:12px;background:#f3a000;color:#fff;border:none;border-radius:7px;font-size:14.5px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:4px;transition:background .15s}
.search-btn:hover{background:#d4880a}
.search-note{font-size:11.5px;color:#9ca3af;text-align:center;margin-top:8px}
.search-note a{color:#1a56db;font-weight:600}

/* ── CATEGORY STRIP ──────────────────────────────────────── */
.cat-strip{background:#fff;border-bottom:1px solid #e5e7eb;padding:12px 20px;overflow-x:auto}
.cat-inner{max-width:1100px;margin:0 auto;display:flex;gap:6px;flex-wrap:nowrap;min-width:max-content}
.cat-pill{padding:6px 14px;border-radius:20px;font-size:12.5px;font-weight:500;border:1px solid #e5e7eb;color:#4b5563;white-space:nowrap;background:#fff;cursor:pointer;transition:all .12s;text-decoration:none}
.cat-pill:hover,.cat-pill.active{background:#1a56db;color:#fff;border-color:#1a56db;text-decoration:none}

/* ── TENDERS SECTION ─────────────────────────────────────── */
.tenders-section{background:#f9fafb;padding:52px 0 40px}
.section-hd{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px}
.section-hd.center{flex-direction:column;align-items:center;text-align:center;gap:6px}
.section-hd h2{font-size:26px;font-weight:800;color:#1a1a2e;letter-spacing:-.4px}
.section-sub{font-size:14px;color:#6b7280;margin-top:4px}
.view-all-link{font-size:13px;font-weight:700;color:#1a56db;white-space:nowrap;flex-shrink:0}

.tender-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.tender-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:18px 20px;cursor:pointer;transition:box-shadow .15s,border-color .15s;border-left:4px solid #e5e7eb}
.tender-card:hover{box-shadow:0 4px 16px rgba(26,86,219,.1);border-color:#bfdbfe;border-left-color:#1a56db}
.tender-card.urgent{border-left-color:#ef4444}
.tc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:6px}
.tc-meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tc-country{font-size:12px;font-weight:600;color:#6b7280}
.tc-cat{font-size:11px;font-weight:600;color:#1a56db;background:#eff6ff;padding:2px 8px;border-radius:4px}
.tc-badges{display:flex;gap:5px;flex-wrap:wrap}
.badge{padding:3px 9px;border-radius:4px;font-size:10.5px;font-weight:700;letter-spacing:.3px}
.open-badge{background:#dcfce7;color:#15803d}
.urgent-badge{background:#fef3c7;color:#92400e}
.wb-badge{background:#cffafe;color:#155e75}
.award-badge{background:#ede9fe;color:#5b21b6}
.tc-title{font-size:15px;font-weight:700;color:#1a1a2e;line-height:1.4;margin-bottom:10px}
.tc-details{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.tc-details span{font-size:12.5px;color:#6b7280;display:flex;align-items:center;gap:5px}
.tc-details i{font-size:13px;color:#9ca3af}
.tc-details .urgent-date{color:#ef4444;font-weight:600}
.tc-footer{display:flex;align-items:center;justify-content:space-between}
.tc-view-btn{font-size:13px;font-weight:700;color:#1a56db;padding:7px 16px;border:1.5px solid #1a56db;border-radius:6px;background:#fff;transition:all .15s}
.tc-view-btn:hover{background:#eff6ff;text-decoration:none}
.tc-posted{font-size:11.5px;color:#9ca3af}

.unlock-cta{background:#eff6ff;border:2px dashed #bfdbfe;border-radius:10px;padding:28px;text-align:center;margin-top:8px}
.unlock-inner p{font-size:15px;color:#1a1a2e;margin-bottom:5px}
.unlock-inner p strong{color:#1a56db}
.unlock-sub{font-size:13px;color:#6b7280;margin-bottom:18px}

/* ── HOW IT WORKS ────────────────────────────────────────── */
.how-section{background:#fff;padding:60px 0}
.steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:0;align-items:center;margin-top:36px}
.step{text-align:center;padding:20px}
.step-num{width:36px;height:36px;border-radius:50%;background:#1a56db;color:#fff;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.step-icon{font-size:32px;margin-bottom:12px}
.step h3{font-size:15px;font-weight:700;color:#1a1a2e;margin-bottom:8px}
.step p{font-size:13px;color:#6b7280;line-height:1.65}
.step-arrow{font-size:28px;color:#bfdbfe;padding:0 8px}

/* ── WHY SECTION ─────────────────────────────────────────── */
.why-section{background:#f9fafb;padding:60px 0}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.why-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:24px;transition:box-shadow .15s}
.why-card:hover{box-shadow:0 4px 16px rgba(26,86,219,.1)}
.why-icon{font-size:32px;margin-bottom:14px}
.why-card h3{font-size:16px;font-weight:700;color:#1a1a2e;margin-bottom:8px}
.why-card p{font-size:13.5px;color:#6b7280;line-height:1.65}

/* ── STATS BANNER ────────────────────────────────────────── */
.stats-banner{background:#0f172a;padding:0}
.stats-banner-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1100px;margin:0 auto}
.sb-stat{padding:32px 24px;border-right:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden}
.sb-stat:last-child{border-right:none}
.sb-stat::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.sb-stat:nth-child(1)::before{background:#1a56db}
.sb-stat:nth-child(2)::before{background:#f3a000}
.sb-stat:nth-child(3)::before{background:#10b981}
.sb-stat:nth-child(4)::before{background:#8b5cf6}
.sb-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:18px}
.sb-icon-1{background:rgba(26,86,219,.15)}
.sb-icon-2{background:rgba(243,160,0,.15)}
.sb-icon-3{background:rgba(16,185,129,.15)}
.sb-icon-4{background:rgba(139,92,246,.15)}
.sb-num{font-size:36px;font-weight:800;color:#fff;letter-spacing:-1.5px;line-height:1;margin-bottom:6px;display:flex;align-items:baseline;gap:3px}
.sb-num-suf{font-size:20px;font-weight:700;color:rgba(255,255,255,.5);letter-spacing:-.5px}
.sb-lbl{font-size:12px;color:rgba(255,255,255,.45);font-weight:500;text-transform:uppercase;letter-spacing:.7px;margin-bottom:10px}
.sb-trend{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:500;padding:3px 9px;border-radius:20px}
.sb-trend-1{background:rgba(96,165,250,.12);color:#93c5fd}
.sb-trend-2{background:rgba(251,191,36,.12);color:#fcd34d}
.sb-trend-3{background:rgba(16,185,129,.12);color:#34d399}
.sb-trend-4{background:rgba(167,139,250,.12);color:#c4b5fd}

/* ── CTA BAND ────────────────────────────────────────────── */
.cta-band{background:linear-gradient(135deg,#1a56db,#0e3a9c);padding:60px 20px;text-align:center}
.cta-band h2{font-size:30px;font-weight:800;color:#fff;letter-spacing:-.4px;margin-bottom:12px}
.cta-band p{font-size:16px;color:rgba(255,255,255,.75);max-width:520px;margin:0 auto 28px;line-height:1.7}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-primary-lg.white{background:#fff;color:#1a56db}
.btn-primary-lg.white:hover{background:#eff6ff;color:#1447b0}
.btn-outline-lg.white{border-color:rgba(255,255,255,.6);color:#fff}
.btn-outline-lg.white:hover{background:rgba(255,255,255,.1);color:#fff}

/* ── BROWSE SECTION ──────────────────────────────────────── */
.browse-section{background:#f9fafb;padding:60px 0}
.browse-filters{display:flex;gap:10px;margin-top:24px;margin-bottom:20px;flex-wrap:wrap}
.browse-filters select{padding:10px 14px;border:1.5px solid #e5e7eb;border-radius:7px;font-size:13px;background:#fff;color:#374151;font-family:inherit;flex:1;min-width:160px}
.browse-unlock{background:#fff;border:2px dashed #bfdbfe;border-radius:10px;padding:40px 24px;text-align:center}
.lock-icon{font-size:40px;margin-bottom:14px}
.browse-unlock p{font-size:15px;color:#1a1a2e;margin-bottom:6px}
.browse-unlock p:first-of-type strong{font-size:18px}
.browse-unlock p:last-of-type{color:#6b7280;font-size:13.5px;margin-bottom:20px}

/* ── PRICING ─────────────────────────────────────────────── */
.pricing-section{background:#fff;padding:60px 0}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.price-card{border:1.5px solid #e5e7eb;border-radius:12px;padding:28px;position:relative;transition:box-shadow .15s}
.price-card:hover{box-shadow:0 4px 20px rgba(26,86,219,.1)}
.price-card.featured{border:2.5px solid #1a56db;box-shadow:0 4px 20px rgba(26,86,219,.12)}
.price-popular{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:#1a56db;color:#fff;padding:3px 16px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}
.price-tier{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px}
.price-amount{font-size:38px;font-weight:900;color:#1a1a2e;letter-spacing:-1px;margin-bottom:6px;line-height:1}
.price-amount span{font-size:15px;font-weight:400;color:#9ca3af}
.price-desc{font-size:13px;color:#6b7280;margin-bottom:18px;min-height:38px;line-height:1.55}
.price-features{list-style:none;margin-bottom:22px}
.price-features li{font-size:13.5px;padding:5px 0;display:flex;align-items:center;gap:8px;border-bottom:1px solid #f9fafb}
.price-features li:last-child{border:none}
.price-features li.yes::before{content:'✓';color:#15803d;font-weight:800;flex-shrink:0}
.price-features li.no{color:#9ca3af}
.price-features li.no::before{content:'✗';color:#d1d5db;flex-shrink:0}
.price-btn{display:block;width:100%;padding:12px;border-radius:7px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;text-align:center;text-decoration:none;transition:all .15s}
.price-btn.primary{background:#1a56db;color:#fff;border:none}
.price-btn.primary:hover{background:#1447b0;text-decoration:none;color:#fff}
.price-btn.outline{border:2px solid #1a56db;color:#1a56db;background:#fff}
.price-btn.outline:hover{background:#eff6ff;text-decoration:none}
.annual-banner{background:#fef9ec;border:1.5px solid #fde68a;border-radius:8px;padding:14px 18px;margin-top:20px;font-size:13.5px;color:#92400e;text-align:center}
.annual-banner a{color:#1a56db;font-weight:600}

/* ── HOW DETAIL ──────────────────────────────────────────── */
.how-detail-section{background:#f9fafb;padding:60px 0}
.how-detail-grid{display:flex;flex-direction:column;gap:20px;margin-top:36px}
.how-step{display:flex;gap:20px;align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:24px}
.how-step-num{width:44px;height:44px;border-radius:50%;background:#1a56db;color:#fff;font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.how-step-body h3{font-size:17px;font-weight:700;color:#1a1a2e;margin-bottom:8px}
.how-step-body p{font-size:14px;color:#6b7280;line-height:1.7}

/* ── RESOURCES ───────────────────────────────────────────── */
.resources-section{background:#fff;padding:60px 0}
.resources-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.resource-card{border:1px solid #e5e7eb;border-radius:10px;padding:22px;transition:box-shadow .15s}
.resource-card:hover{box-shadow:0 4px 16px rgba(26,86,219,.1)}
.resource-icon{font-size:30px;margin-bottom:12px}
.resource-card h3{font-size:15px;font-weight:700;color:#1a1a2e;margin-bottom:8px}
.resource-card p{font-size:13px;color:#6b7280;line-height:1.65;margin-bottom:14px}
.resource-link{font-size:13px;font-weight:700;color:#1a56db;display:inline-flex;align-items:center;gap:4px}
.resource-link:hover{text-decoration:underline}

/* ── CONTACT ─────────────────────────────────────────────── */
.contact-section{background:#f9fafb;padding:60px 0}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px}
.contact-form-col h2{font-size:26px;font-weight:800;color:#1a1a2e;margin-bottom:6px}
.contact-form-col>p{font-size:14px;color:#6b7280;margin-bottom:22px}
.contact-form{display:flex;flex-direction:column;gap:12px}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cf-g{display:flex;flex-direction:column;gap:5px}
.cf-g label{font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.4px}
.cf-g input,.cf-g select,.cf-g textarea{padding:10px 13px;border:1.5px solid #e5e7eb;border-radius:7px;font-size:13.5px;color:#1a1a2e;background:#fff;font-family:inherit}
.cf-g input:focus,.cf-g select:focus,.cf-g textarea:focus{outline:none;border-color:#1a56db}
.cf-g textarea{resize:vertical}
.contact-info-col h3{font-size:20px;font-weight:700;color:#1a1a2e;margin-bottom:20px}
.ci-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}
.ci-item:last-child{border:none;margin-bottom:0;padding-bottom:0}
.ci-icon{font-size:22px;flex-shrink:0;margin-top:2px}
.ci-lbl{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.ci-val{font-size:14px;font-weight:600;color:#1a1a2e}
.ci-sub{font-size:12px;color:#9ca3af;margin-top:2px}

/* ── FOOTER ──────────────────────────────────────────────── */
.footer{background:#111827;padding:48px 20px 20px}
.footer-top{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:36px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-brand p{font-size:13px;color:rgba(255,255,255,.4);line-height:1.7;margin-top:12px;max-width:240px}
.footer-logo{display:flex;align-items:center;gap:10px}
.footer-logo-name{font-size:15px;font-weight:800;color:#fff;letter-spacing:-.2px}
.footer-logo-name em{color:#1a56db;font-style:normal}
.footer-social{display:flex;gap:8px;margin-top:16px}
.footer-social a{width:30px;height:30px;border:1px solid rgba(255,255,255,.15);border-radius:6px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);font-size:12px;font-weight:700;text-decoration:none}
.footer-social a:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.footer-col h4{font-size:9.5px;font-weight:700;color:rgba(255,255,255,.25);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:14px}
.footer-col a{display:block;font-size:13px;color:rgba(255,255,255,.45);margin-bottom:8px}
.footer-col a:hover{color:rgba(255,255,255,.85);text-decoration:none}
.footer-bottom{max-width:1100px;margin:20px auto 0;display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.2);flex-wrap:wrap;gap:8px}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr}
  .search-card{margin-top:28px}
  .steps{grid-template-columns:1fr;gap:20px}
  .step-arrow{display:none}
  .why-grid,.testimonials-grid,.resources-grid,.pricing-grid{grid-template-columns:1fr 1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
  .stats-banner-grid{grid-template-columns:1fr 1fr}
  .sb-stat:nth-child(2){border-right:none}
  .sb-stat:nth-child(1),.sb-stat:nth-child(2){border-bottom:1px solid rgba(255,255,255,.07)}
}
@media(max-width:640px){
  .nav-links{display:none;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid #e5e7eb;padding:12px 0;box-shadow:0 4px 12px rgba(0,0,0,.1)}
  .nav-links.open{display:flex}
  .nav-links a{height:auto;padding:11px 20px;border-bottom:none}
  .hamburger{display:block}
  .hero h1{font-size:32px}
  .why-grid,.testimonials-grid,.resources-grid,.pricing-grid{grid-template-columns:1fr}
  .sf-row{grid-template-columns:1fr}
  .cf-row{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
}
