/**
 * Footer mobile responsiveness – shared across all main pages.
 * Ensures footer stacks correctly, avoids overflow, and stays readable on small screens.
 */

/* Base: prevent horizontal overflow on all viewports */
.footer {
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

.footer * {
  box-sizing: border-box;
}

/* Tablet and below */
@media (max-width: 991px) {
  .footer .footer-section-inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .footer .w-container,
  .footer .w-layout-blockcontainer {
    max-width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .footer .first-footer {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    text-align: center;
  }

  .footer .first-footer-text-wrap {
    width: 100%;
  }

  .footer .footer-title {
    font-size: clamp(1.5rem, 5vw, 2rem);
    line-height: 1.25;
    word-wrap: break-word;
  }

  .footer .footer-pretitle {
    font-size: clamp(0.8rem, 2.5vw, 1rem);
  }

  .footer .footer-form-block {
    width: 100%;
    max-width: 100%;
  }

  .footer .footer-form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    width: 100%;
  }

  .footer .footer-text-field {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .footer .footer-btn-block {
    width: 100%;
  }

  .footer .footer-submit-btn {
    width: 100%;
    max-width: 100%;
  }

  .footer .second-footer {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    margin-top: 2rem;
  }

  .footer .second-footer .widget {
    width: 100%;
    min-width: 0;
    text-align: center;
  }

  .footer .widget-title {
    font-size: clamp(1rem, 3vw, 1.125rem);
  }

  .footer .widget-desc,
  .footer .widget-time-block .time-block-text,
  .footer .widget-conact-block {
    font-size: clamp(0.875rem, 2.5vw, 1rem);
    word-wrap: break-word;
  }

  .footer .widget-btn-wrapper {
    display: flex;
    justify-content: center;
  }

  .footer .marquee-wrapper {
    overflow: hidden;
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 0;
    padding-right: 0;
  }

  .footer .marquee-wrapper .container-fluid {
    max-width: 100%;
  }

  .footer .bottom-footer {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .footer .footer-copyright .copyright {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-align: center;
  }

  .footer .copyright-text {
    font-size: clamp(0.75rem, 2.2vw, 0.875rem);
    line-height: 1.4;
    word-wrap: break-word;
  }

  .footer .footer-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .footer .footer-nav-item {
    margin: 0;
  }

  .footer .footer-nav-link {
    white-space: nowrap;
  }
}

/* Mobile – extra small screens */
@media (max-width: 479px) {
  .footer .footer-section-inner {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .footer .w-container,
  .footer .w-layout-blockcontainer {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .footer .footer-title {
    font-size: 1.35rem;
  }

  .footer .second-footer {
    gap: 1.5rem;
  }

  .footer .bottom-footer {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .footer .marquee-wrapper {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }
}
