/* ==========================================================================
   Media Sphere Limited — shared footer styles
   Loaded on every page (dynamic layout + injected onto static pages) so the
   footer is pixel-identical everywhere.
   ========================================================================== */

:root {
  --ms-navy: #1e1b4b;
  --ms-border: #e8e8e8;
  --ms-text: #333;
  --ms-muted: #777;
}

/* ===== Footer (original: white, 3px indigo top border) ===== */
.ms-footer { background: #fff; border-top: 3px solid var(--tb-theme-color); margin-top: 50px; }
.ms-footer-newsletter { background: #fff; border-bottom: 1px solid #eef0f4; }
.ms-footer-newsletter .ms-fn-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 36px 0; flex-wrap: wrap; }
.ms-footer-newsletter h3 { font-size: 16px; font-weight: 700; color: var(--ms-navy); margin: 0 0 4px; }
.ms-footer-newsletter p { font-size: 14px; color: var(--ms-navy); margin: 0; }
.ms-footer-newsletter form { display: flex; min-width: 320px; }
.ms-footer-newsletter input { flex: 1; padding: 11px 14px; border: 1px solid var(--ms-border); border-radius: 4px 0 0 4px; font-size: 14px; }
.ms-footer-newsletter button { padding: 11px 20px; border: none; background: var(--tb-theme-color); color: #fff; border-radius: 0 4px 4px 0; cursor: pointer; font-weight: 600; }
.ms-footer-newsletter button:hover { background: var(--tb-theme-color-hover); }
.ms-footer-main { padding: 40px 0 30px; }
.ms-footer-main .ms-footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 30px; }
.ms-footer-main h3.heading-tbay-title, .ms-footer-main h4 { font-size: 15px; font-weight: 700; color: var(--ms-navy); margin-bottom: 14px; }
.ms-footer-main ul { list-style: none; padding: 0; margin: 0; }
.ms-footer-main ul li { margin-bottom: 8px; }
.ms-footer-main ul li a { color: var(--ms-text); font-size: 14px; }
.ms-footer-main ul li a:hover { color: var(--tb-theme-color); }
.ms-footer-main .ms-fcontact { font-size: 14px; color: var(--ms-text); margin-bottom: 10px; }
.ms-footer-main .ms-fcontact a { color: var(--tb-theme-color); font-weight: 600; }
.ms-footer-bottom { border-top: 1px solid #eef0f4; padding: 18px 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.ms-footer-bottom p { margin: 0; color: var(--ms-muted); font-size: 13px; }
.ms-footer-bottom img { max-height: 40px; }

@media (max-width: 640px) {
  .ms-footer-newsletter .ms-fn-inner { flex-direction: column; align-items: flex-start; }
  .ms-footer-newsletter form { width: 100%; min-width: 0; }
  .ms-footer-bottom { justify-content: center; text-align: center; }
}
