/* ============================================================
   SVES – Footer v2 CSS additions
   Append to end of main.css
   ============================================================ */

/* ── Footer main grid ──────────────────────────────────────── */
.ft-grid {
  display: grid;
  grid-template-columns: 80px 1.6fr 1fr 1fr 1.2fr;
  gap: 40px;
  padding: 56px 0 48px;
}
@media (max-width: 1200px) { .ft-grid { grid-template-columns: 80px 1.4fr 1fr 1fr; gap: 28px; } .ft-col-newsletter { grid-column: 1 / -1; } }
@media (max-width: 900px)  { .ft-grid { grid-template-columns: 1fr 1fr; gap: 32px; } .ft-col-logo { grid-column: 1 / -1; } }
@media (max-width: 540px)  { .ft-grid { grid-template-columns: 1fr; } }

.ft-col { display: flex; flex-direction: column; }
.ft-col-logo { align-items: flex-start; justify-content: flex-start; }

/* Logo */
.ft-logo-link img, .ft-logo-link .custom-logo { height: 80px; width: auto; }
.ft-logo-img { height: 80px; width: auto; object-fit: contain; }
.ft-logo-text { display: block; }

/* Col title */
.ft-col-title {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--white);
  margin-bottom: 20px;
}

/* Address / contact */
.ft-address {
  font-size: 13px;
  line-height: 1.75;
  color: rgba(255,255,255,.65);
  font-style: normal;
  margin-bottom: 16px;
}
.ft-contact-row {
  display: flex;
  gap: 12px;
  font-size: 13px;
  color: rgba(255,255,255,.6);
  margin-bottom: 6px;
}
.ft-contact-key { font-weight: 600; color: rgba(255,255,255,.5); min-width: 44px; }
.ft-contact-val { color: rgba(255,255,255,.75); }

/* Nav list */
.ft-nav-list { list-style: none; margin: 0; padding: 0; }
.ft-nav-list li { margin-bottom: 10px; padding-left: 14px; position: relative; }
.ft-nav-list li::before { content: '·'; position: absolute; left: 0; color: rgba(255,255,255,.3); }
.ft-nav-list a { font-size: 13px; color: rgba(255,255,255,.65); transition: color .18s; }
.ft-nav-list a:hover { color: var(--white); }

/* Newsletter form */
.ft-nl-form { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.ft-nl-form input[type="email"] {
  padding: 10px 14px;
  border-radius: var(--radius);
  border: 1.5px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.08);
  color: var(--white);
  font-size: 13px;
  font-family: var(--font);
}
.ft-nl-form input[type="email"]::placeholder { color: rgba(255,255,255,.35); }
.ft-nl-form input[type="email"]:focus { border-color: var(--purple); outline: none; }

/* Social row */
.ft-social { display: flex; gap: 10px; flex-wrap: wrap; }
.ft-social-link {
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.75);
  transition: background .2s, color .2s;
  flex-shrink: 0;
}
.ft-social-link:hover { background: var(--purple); color: var(--white); }
.ft-social-link svg { width: 16px; height: 16px; }

/* ── Institution logo strip ─────────────────────────────────── */
.ft-logo-strip {
  border-top: 1px solid rgba(255,255,255,.1);
  border-bottom: 1px solid rgba(255,255,255,.1);
  padding: 20px 0;
}
.ft-logo-strip-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px 8px;
}
.ft-logo-strip-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
}
.ft-logo-strip-item img {
  height: 32px;
  width: auto;
  max-width: 90px;
  object-fit: contain;  
  opacity: .75;
  transition: opacity .2s;
}
.ft-logo-strip-item img:hover { opacity: 1; }
.ft-logo-text-fallback {
  font-size: 12px;
  font-weight: 700;
  color: rgba(255,255,255,.7);
  letter-spacing: .05em;
  white-space: nowrap;
}

/* ── Bottom bar ─────────────────────────────────────────────── */
.footer-bottom { padding: 18px 0; }
.footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 20px;
}
.footer-copy   { font-size: 12px; color: rgba(255,255,255,.4); }
.footer-credit { font-size: 12px; color: rgba(255,255,255,.4); }
.footer-legal-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 8px;
}
.footer-legal-nav a    { font-size: 12px; color: rgba(255,255,255,.45); transition: color .18s; }
.footer-legal-nav a:hover { color: rgba(255,255,255,.8); }
.footer-legal-nav span { font-size: 12px; color: rgba(255,255,255,.2); }
