/* ===== Ratcliff footer overrides (clean) ===== */

/* Desktop & wide: centre the inner container, tidy spacing */
.footer .container,
.footer .footer__container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 32px;
  padding-right: 32px;
}
.footer .container.flex { align-items: flex-start; gap: 20px; }
.footer .smileback { margin-left: auto; }

/* Mid-width (921–1220): hold one row a bit longer without overflow */
@media (max-width: 1220px) and (min-width: 921px) {
  .footer .container.flex { gap: 10px; }
  .footer .container.flex > [class*="col-"] { min-width: 0; }
  .footer .col-4 { flex: 0 0 30%; max-width: 30%; }
  .footer .col-2 { flex: 0 0 16%; max-width: 16%; }
  .footer .smileback { flex: 0 0 200px; max-width: 220px; }
}

/* Mobile (≤920): one-column, left-aligned stack with spacing */
@media (max-width: 920px) {

  /* remove clamps and centring applied elsewhere */
  .footer,
  .footer .footer__container,
  .footer .container,
  .footer .container.flex,
  .footer .content-wrapper,
  .footer .page-center,
  .footer .row,
  .footer .wrapper {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .footer .container {
    display: block !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .footer .container.flex {
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: 16px !important;
  }

  /* each block full width + vertical rhythm */
  .footer .container.flex > * {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    align-self: stretch !important;
    margin: 0 0 20px 0 !important;
    text-align: left !important;
  }
  .footer .container.flex > *:last-child { margin-bottom: 0 !important; }

  /* Quick Links hugs the left edge */
  .footer .col-2.d-flex { justify-content: flex-start !important; }
  .footer .col-2.d-flex > .asd {
    margin: 0 !important;
    width: 100% !important;
    text-align: left !important;
  }

  /* Contact Us truly flush-left */
  .footer .col-4.flex.flex-column { align-items: flex-start !important; }
  .footer .contact-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: none !important;
  }
  .footer .contact-inner > * {
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
    padding-left: 0 !important; /* prevent residual grid padding */
  }

  /* remove column gutters on mobile */
  .footer [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* logo not indented on mobile */
  .footer img { margin-left: 0 !important; }

  /* SmileBack last and left-aligned */
  .footer .smileback {
    display: flex !important;
    justify-content: flex-start !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
  }
/* === Desktop: keep footer and content aligned with site grid === */
/* Pick a width that matches your theme’s content area.
   1200px is usually right for this Ratcliff theme. */
@media (min-width: 921px) {
  /* Footer inner container, not the coloured bar */
  .footer .footer__container,
  .footer .container,
  .footer .page-center,
  .footer .row {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 32px;
    padding-right: 32px;
  }
}