/* ideaBOX site footer — shared across all pages */
footer.ibx-footer {
  --f-bg: #0a1f15;
  --f-bg2: #0f2a1d;
  --f-line: rgba(255,255,255,.08);
  --f-text: rgba(255,255,255,.62);
  --f-dim: rgba(255,255,255,.42);
  --f-head: #ffffff;
  --f-green: #22c55e;
  --f-green-d: #19a34d;
  background: var(--f-bg);
  background-image: radial-gradient(1200px 400px at 85% -10%, rgba(34,197,94,.10), transparent 60%);
  color: var(--f-text);
  padding: 0;
  margin: 0;
  border: 0;
  font-size: 15px;
  line-height: 1.6;
  text-align: left;
}
footer.ibx-footer * { box-sizing: border-box; }
.ibx-footer a { color: inherit; text-decoration: none; transition: color .15s, background .15s, border-color .15s, transform .15s; }
.ibx-f-wrap { max-width: 1180px; margin: 0 auto; padding: 0 28px; }

/* CTA band */
.ibx-f-cta { padding: 56px 0 0; }
.ibx-f-cta-card {
  display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap;
  padding: 36px 40px; border-radius: 18px;
  background: linear-gradient(120deg, #13452c 0%, #0f3322 55%, #0c2a1c 100%);
  border: 1px solid rgba(34,197,94,.25);
  box-shadow: 0 20px 50px rgba(0,0,0,.25);
}
.ibx-f-cta p.ibx-f-cta-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--f-green); margin: 0 0 8px; }
.ibx-f-cta h3 { font-size: 26px; line-height: 1.25; font-weight: 800; color: #fff; margin: 0 0 6px; letter-spacing: -.01em; }
.ibx-f-cta p { font-size: 15px; color: rgba(255,255,255,.65); margin: 0; max-width: 520px; }
.ibx-f-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.ibx-f-btn {
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  padding: 13px 24px; border-radius: 10px; font-size: 15px; font-weight: 700; line-height: 1;
}
.ibx-f-btn svg { width: 17px; height: 17px; flex: none; }
.ibx-footer .ibx-f-btn-primary { background: var(--f-green); color: #06200f; }
.ibx-footer .ibx-f-btn-primary:hover { background: #34d56f; color: #06200f; transform: translateY(-1px); }
.ibx-footer .ibx-f-btn-ghost { border: 1px solid rgba(255,255,255,.25); color: #fff; }
.ibx-footer .ibx-f-btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,.06); color: #fff; }

/* Main grid */
.ibx-f-main {
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1.15fr; gap: 40px;
  padding: 56px 0 44px;
}
.ibx-f-logo { display: inline-block; line-height: 0; margin-bottom: 18px; }
.ibx-f-logo img { height: 54px; width: auto; display: block; }
.ibx-f-slogan { font-size: 15px; font-weight: 700; color: #fff; margin: 0 0 8px; }
.ibx-f-desc { font-size: 14px; line-height: 1.7; color: var(--f-dim); margin: 0; max-width: 320px; }
.ibx-f-social { display: flex; gap: 10px; }
.ibx-footer .ibx-f-social a {
  width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--f-line); background: rgba(255,255,255,.03); color: rgba(255,255,255,.75);
}
.ibx-footer .ibx-f-social a:hover { background: var(--f-green-d); border-color: var(--f-green-d); color: #fff; }
.ibx-f-social svg { width: 17px; height: 17px; }

.ibx-f-col h4 {
  font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--f-head); margin: 6px 0 18px;
}
.ibx-f-col ul { list-style: none; margin: 0; padding: 0; }
.ibx-f-col li { margin: 0 0 11px; padding: 0; }
.ibx-footer .ibx-f-col a { font-size: 14.5px; color: var(--f-text); }
.ibx-footer .ibx-f-col a:hover { color: var(--f-green); }

.ibx-f-contact li { display: flex; gap: 10px; align-items: flex-start; }
.ibx-f-contact svg { width: 17px; height: 17px; flex: none; margin-top: 3px; color: var(--f-green); }

/* Frameworks strip */
.ibx-f-frames {
  display: flex; align-items: center; gap: 12px 18px; flex-wrap: wrap;
  padding: 22px 0; border-top: 1px solid var(--f-line);
}
.ibx-f-frames-label { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--f-dim); margin-right: 4px; }
.ibx-f-chip {
  font-size: 12.5px; font-weight: 600; color: rgba(255,255,255,.78);
  padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(34,197,94,.28); background: rgba(34,197,94,.06);
}

/* Bottom bar */
.ibx-f-bottom {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  padding: 20px 0 26px; border-top: 1px solid var(--f-line); font-size: 13px; color: var(--f-dim);
}
.ibx-f-legal { display: flex; gap: 22px; flex-wrap: wrap; align-items: center; }
.ibx-footer .ibx-f-legal a:hover { color: #fff; }
.ibx-footer .ibx-f-top { display: inline-flex; align-items: center; gap: 6px; }
.ibx-f-top svg { width: 14px; height: 14px; }

@media (max-width: 1024px) {
  .ibx-f-main { grid-template-columns: 1fr 1fr 1fr; }
  .ibx-f-brand { grid-column: 1 / -1; }
  .ibx-f-desc { max-width: 520px; }
}
@media (max-width: 640px) {
  .ibx-f-wrap { padding: 0 20px; }
  .ibx-f-cta { padding-top: 36px; }
  .ibx-f-cta-card { padding: 28px 24px; }
  .ibx-f-cta h3 { font-size: 22px; }
  .ibx-f-cta-actions, .ibx-f-btn { width: 100%; }
  .ibx-f-btn { justify-content: center; }
  .ibx-f-main { grid-template-columns: 1fr 1fr; gap: 32px 24px; padding: 40px 0 32px; }
  .ibx-f-bottom { flex-direction: column; align-items: flex-start; }
}
