/* ===== 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; }


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

  /* 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 {
   padding-left: 0 !important;
    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,
  .footer .contact-inner > *,
  .footer .contact-header,
  .footer .contact-details {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
   }

  /* 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: min(360px, 50%) !important;  /* half width but never wider than 360px */
    max-width: none !important;
    }
  
  /* Trim excess top spacing in footer blocks */
/*.footer .container.flex > * > *:first-child {
  margin-top: 0 !important;
}
}
/* ===== DEBUG MODE: footer visual boxes ===== */
/*.footer {
  outline: 2px solid red !important;
}
.footer .container {
  outline: 2px dashed orange !important;
}
.footer .container.flex {
  outline: 2px dashed yellow !important;
}
.footer [class*="col-"] {
  outline: 2px solid rgba(255,0,0,0.6) !important;
}
.footer .explainer {
  outline: 2px dotted limegreen !important;
}
.footer .asd {
  outline: 2px dotted blue !important;
}
.footer .contact-inner {
  outline: 2px dotted magenta !important;
}
.footer .smileback {
  outline: 2px dotted cyan !important;
}