/* ── Footer ───────────────────────────────────────────────────── */

.site-footer {
  width:       100%;
  padding:     32px 32px 16px;
  font-family: 'Baloo Thambi 2', 'Baloo', system-ui, sans-serif;
  box-sizing:  border-box;
  flex-shrink: 0;
}

/* Full-width card */
.footer-card {
  width:         100%;
  background:    #ffffff;
  border:        3px solid #58C1B9;
  border-radius: 20px;
  box-shadow:    0 4px 4px rgba(0, 0, 0, 0.25);
  overflow:      hidden;
}

/* Two-column body */
.footer-body {
  display:  flex;
  padding:  32px 40px 28px;
  gap:      40px;
}

/* Left column */
.footer-left {
  flex:           0 0 55%;
  display:        flex;
  flex-direction: column;
  gap:            0;
}

.footer-logo-img {
  height:      28px;
  width:       auto;
  object-fit:  contain;
  align-self:  flex-start;
  margin-bottom: 32px;
  display:     block;
}

.footer-rights {
  font-size:   14px;
  color:       #818080;
  line-height: 1.5;
  margin:      0 0 28px;
}

.footer-follow-label {
  font-size:   12px;
  font-weight: 600;
  color:       #000000;
  margin:      0 0 8px;
}

.footer-social-icons {
  display: flex;
  gap:     12px;
}

.footer-social-icon {
  width:         28px;
  height:        28px;
  border-radius: 50%;
  background:    #110D4F;
  display:       flex;
  align-items:   center;
  justify-content: center;
  cursor:        pointer;
  transition:    opacity 0.15s;
}
.footer-social-icon:hover { opacity: 0.75; }

.footer-social-icon svg {
  width:  14px;
  height: 14px;
  fill:   #ffffff;
}

/* Right column */
.footer-right {
  flex:            0 0 auto;
  display:         flex;
  flex-direction:  column;
  justify-content: space-between;
  min-width:       240px;
  padding:         8px 0;
}

.footer-contact-title {
  font-size:   18px;
  font-weight: 600;
  color:       #000000;
  margin:      0;
}

.footer-contact-line {
  font-size:   14px;
  font-weight: 400;
  color:       #000000;
  margin:      0;
  line-height: 1.4;
}

.footer-contact-line a {
  color:           #000000;
  text-decoration: none;
}
.footer-contact-line a:hover {
  text-decoration: underline;
}

/* Teal divider */
.footer-divider {
  height:     1px;
  background: #58C1B9;
  margin:     0 24px;
}

/* Legal row */
.footer-legal {
  display:     flex;
  gap:         40px;
  padding:     14px 40px 16px;
}

.footer-legal a {
  font-size:       14px;
  color:           #000000;
  text-decoration: underline;
}
.footer-legal a:hover {
  opacity: 0.7;
}

/* ── Mobile (≤ 767px) ───────────────────────────────────────── */
@media (max-width: 767px) {
  .site-footer {
    padding-top:   16px;
    padding-left:  12px;
    padding-right: 12px;
  }

  /* Single centered column */
  .footer-body {
    flex-direction: column;
    align-items:    center;
    padding:        24px 24px 20px;
    gap:            0;
  }

  /* Flatten footer-left so its children become direct flex items of footer-body,
     allowing order-based resequencing with footer-right */
  .footer-left {
    display: contents;
  }

  /* 1 — Logo */
  .footer-logo-img {
    order:         1;
    align-self:    center;
    margin-bottom: 20px;
  }

  /* 2 — Get in touch */
  .footer-right {
    order:           2;
    min-width:       unset;
    align-items:     center;
    justify-content: flex-start;
    text-align:      center;
    padding:         0 0 20px;
  }

  /* 3 — All rights reserved */
  .footer-rights {
    order:         3;
    text-align:    center;
    margin:        0 0 20px;
  }

  /* 4 — Follow us label */
  .footer-follow-label {
    order:         4;
    text-align:    center;
  }

  /* 5 — Social icons */
  .footer-social-icons {
    order:           5;
    justify-content: center;
    margin-bottom:   8px;
  }

  .footer-legal {
    padding: 12px 24px 14px;
    gap:     24px;
  }
}
