/* ============================================================
   Footer — custom mobile-responsive layout
   Overrides Nicepage's fixed-height / negative-margin footer
   on small screens with a clean, centered, stacked layout.
   Loaded after the page stylesheet, so these rules win.
   Desktop (>767px) is left untouched.
   ============================================================ */

@media (max-width: 767px) {

  /* Let the footer grow to fit its content instead of fixed px heights */
  .u-footer .u-sheet-1,
  .u-footer [class*="u-layout-cell"] {
    min-height: 0 !important;
    height: auto !important;
  }

  /* Stack the three columns full width */
  .u-footer .u-layout-row { flex-direction: column !important; }
  .u-footer [class*="u-layout-cell"] {
    width: 100% !important;
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }

  /* Center every column's content */
  .u-footer .u-container-layout {
    padding: 0 18px !important;
    text-align: center !important;
  }

  .u-footer .u-layout-wrap-1 { margin-top: 34px !important; }

  /* Logo */
  .u-footer .u-image-1 {
    display: inline-block !important;
    float: none !important;
    margin: 0 auto !important;
  }

  /* Intro paragraph */
  .u-footer .u-text-1 {
    max-width: 440px;
    margin: 14px auto 30px !important;
    text-align: center !important;
  }

  /* Column headings: "POPULAR SEARCHES" / "LEGAL" */
  .u-footer .u-text-2,
  .u-footer .u-text-4 {
    margin: 20px auto 0 !important;
    text-align: center !important;
  }

  /* Drop the desktop spacer paragraph that pushed LEGAL down */
  .u-footer .u-text-3 { display: none !important; }

  /* Short underline beneath each heading */
  .u-footer .u-line-1,
  .u-footer .u-line-2 {
    width: 140px !important;
    max-width: 70%;
    margin: 10px auto 8px !important;
    transform: none !important;
  }

  /* Link buttons: centered, even spacing, no Nicepage negative margins */
  .u-footer .u-btn {
    display: table !important;
    margin: 4px auto !important;
    float: none !important;
    padding: 7px 18px !important;
  }

  /* Full-width divider above the copyright */
  .u-footer .u-line-3 {
    width: 88% !important;
    margin: 30px auto 0 !important;
  }

  /* Copyright block */
  .u-footer .u-layout-wrap-2 { margin-top: 20px !important; }
  .u-footer .u-container-layout-4 { padding: 0 18px !important; }
  .u-footer .u-text-5 { text-align: center !important; }

  /* Language flags: centered, wrapping, evenly spaced */
  .u-footer .u-language {
    max-width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px 12px;
    margin: 24px auto 10px !important;
  }
  .u-footer .u-language a { flex: 0 0 auto !important; }
}

/* Extra tightening for very small phones */
@media (max-width: 400px) {
  .u-footer .u-text-1 { margin-bottom: 24px !important; }
  .u-footer .u-language { gap: 6px 9px; }
}
