/* Shared site footer. Used by every page via Views/Shared/Components/_SiteFooter.cshtml.
   Edit footer styling here only. */

/* ==========================================================================
       SITE FOOTER (CurbsideMall Style)
       ========================================================================== */
    .site-footer {
      background: #142055;
      color: #e6ebff;
      padding: 50px 0 24px;
      font-family: 'DM Sans', sans-serif;
      font-size: 17px;
      line-height: 1.6;
    }
.site-footer .wrap {
      width: min(1320px, calc(100% - 48px));
      margin: auto;
    }
.site-footer a {
      text-decoration: none;
    }
.footer-intro {
      display: flex;
      justify-content: space-between;
      gap: 30px;
      align-items: center;
      padding-bottom: 30px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    }
.footer-wordmark {
      font-size: 28px;
      font-weight: 800;
      color: #fff;
      text-decoration: none;
      line-height: 1.6;
    }
.footer-wordmark span {
      color: var(--csm-lime, #86c440);
    }
.footer-intro p {
      max-width: 420px;
      color: #c1cae8;
      font-size: 15px;
      margin: 15px 0;
      line-height: 1.6;
    }
.footer-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 28px;
      padding: 35px 0;
    }
.site-footer .footer-grid h2 {
      font-size: 15px;
      font-weight: 700;
      color: #fff;
      margin: 0 0 15px;
      font-family: 'Plus Jakarta Sans', sans-serif;
      line-height: 1.6;
      letter-spacing: 0;
    }
.footer-link {
      display: block;
      background: none;
      border: 0;
      padding: 5px 0;
      color: #cad2e9;
      text-align: left;
      font-size: 13px;
      line-height: 1.5;
      text-decoration: none;
      cursor: pointer;
    }
.footer-link strong {
      font-weight: 400;
    }
.footer-link:hover {
      color: #a3df64;
      text-decoration: underline;
    }
.footer-download {
      padding: 9px 0;
    }
.site-footer .app-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      align-items: center;
      margin-top: 0;
    }
.site-footer .app-badges a {
      display: inline-block;
      line-height: 0;
      transition: transform 0.2s ease;
    }
.site-footer .app-badges a:hover {
      transform: translateY(-2px);
    }
.site-footer .app-badges img {
      display: block;
      height: 45px;
      width: auto;
      max-width: 100%;
      object-fit: contain;
    }
.site-footer .footer-download .app-badges {
      gap: 8px;
    }
.site-footer .footer-download .app-badges a {
      flex: 0 1 132px;
      min-width: 0;
    }
.site-footer .footer-download .app-badges img {
      width: 132px;
      height: auto;
      aspect-ratio: 812 / 243;
    }
.footer-download .download-label {
      font-size: 13px;
      font-weight: 700;
      line-height: 1.4;
      color: #fff;
      margin-bottom: 10px;
      display: block;
    }
.footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.15);
      padding-top: 20px;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
      font-size: 13px;
      color: #bac6e7;
    }

/* responsive */
    @media (max-width: 1050px) {
      .site-footer .wrap {
        width: calc(100% - 32px);
      }
      .footer-grid {
        grid-template-columns: repeat(3, 1fr);
      }
    }

    @media (max-width: 800px) {
      .footer-intro {
        align-items: flex-start;
        flex-direction: column;
      }
      .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
      }
    }

    @media (max-width: 420px) {
      .site-footer .app-badges {
        gap: 8px;
      }
      .site-footer .app-badges img {
        height: 39px;
      }
      .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }
    }
