/* ══════════════════════════════════════════════════════════════════════════════
   FOOTER OVERHAUL — Task #1451917
   Fixes: left-push centering, desktop grid alignment, mobile accordion collapse
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── Widen inner container to use full 1440px canvas ── */
.sr-ft-inner {
  max-width: 1360px !important;
  margin: 0 auto !important;
  padding: 0 clamp(24px, 4vw, 64px) !important;
}

/* ── Brand row: center everything ── */
.sr-ft-brand-row {
  justify-content: center !important;
  align-items: center !important;
  flex-direction: column !important;
  text-align: center !important;
  gap: 16px !important;
  margin-bottom: 32px !important;
}

.sr-ft-brand-left {
  justify-content: center !important;
  width: 100% !important;
}

.sr-ft-social-links {
  justify-content: center !important;
  width: 100% !important;
}

/* ── About brand: center text ── */
.sr-ft-about-brand {
  text-align: center !important;
  margin: 0 auto 24px !important;
  max-width: 680px !important;
}

/* ── Email capture: always centered ── */
.sr-ft-email-capture {
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── Trust badges: center ── */
.sr-ft-trust-badges {
  justify-content: center !important;
  text-align: center !important;
}

/* ── Columns grid: lock to 7 equal columns on large desktop ── */
@media (min-width: 1024px) {
  .sr-ft-columns {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 40px 28px !important;
    padding-bottom: 48px !important;
    justify-items: start !important;
  }
}

/* ── Column headers: always visible and non-interactive on desktop ── */
@media (min-width: 769px) {
  .sr-ft-col-details {
    overflow: visible !important;
  }
  .sr-ft-col-details > summary {
    pointer-events: none !important;
    cursor: default !important;
    padding-right: 0 !important;
  }
  .sr-ft-col-details > summary::after {
    display: none !important;
  }
  .sr-ft-col-details > .sr-ft-col-links,
  details.sr-ft-col-details .sr-ft-col-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
  }
  .sr-ft-col-header {
    margin-bottom: 14px !important;
  }
}

/* ── SEO links: center ── */
.sr-ft-seo-links {
  justify-content: center !important;
  text-align: center !important;
}

/* ── Trust strip: center ── */
.sr-ft-trust-strip {
  justify-content: center !important;
  text-align: center !important;
}

/* ── Bottom bar: center ── */
.sr-ft-bottom-bar {
  text-align: center !important;
}
.sr-ft-copy,
.sr-ft-address,
.sr-ft-terms-links {
  text-align: center !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   MOBILE ACCORDION — 375px (collapsed by default, expand on tap)
   ══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  /* Brand row: center on mobile too */
  .sr-ft-brand-row {
    align-items: center !important;
    text-align: center !important;
  }
  .sr-ft-brand-left {
    justify-content: center !important;
  }
  .sr-ft-about-brand {
    text-align: center !important;
  }

  /* Grid: single column, accordion stacked */
  .sr-ft-columns {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
  }

  .sr-ft-col {
    border-bottom: 1px solid #E5E7EB !important;
    padding: 0 !important;
  }

  .sr-ft-col:last-child {
    border-bottom: 1px solid #E5E7EB !important;
  }

  /* Summary: full-width tappable row with chevron */
  .sr-ft-col-details > summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 4px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #0A0A0A !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    min-height: 48px !important;
    user-select: none !important;
    list-style: none !important;
  }

  .sr-ft-col-details > summary::-webkit-details-marker {
    display: none !important;
  }

  /* Chevron via pseudo-element */
  .sr-ft-col-details > summary::after {
    content: '+' !important;
    font-size: 1.25rem !important;
    font-weight: 300 !important;
    color: #9CA3AF !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    display: block !important;
    position: static !important;
    transition: transform 0.2s ease !important;
  }

  .sr-ft-col-details[open] > summary::after {
    content: '\2212' !important;
  }

  /* Links: hidden when closed, flex column when open */
  .sr-ft-col-details:not([open]) .sr-ft-col-links {
    display: none !important;
    max-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  .sr-ft-col-details[open] .sr-ft-col-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 4px 0 16px !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
  }

  .sr-ft-col-links a {
    padding: 9px 4px !important;
    min-height: 44px !important;
    font-size: 0.9rem !important;
    display: flex !important;
    align-items: center !important;
    border-bottom: 1px solid #F3F4F6 !important;
  }

  .sr-ft-col-links a:last-child {
    border-bottom: none !important;
  }

  /* Col header margin reset on mobile (it's the summary element) */
  .sr-ft-col-header {
    margin-bottom: 0 !important;
  }

  .sr-ft-col-details[open] .sr-ft-col-header {
    margin-bottom: 0 !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════════
   TABLET: 640–1023px — 2 columns, accordion off
   ══════════════════════════════════════════════════════════════════════════════ */
@media (min-width: 640px) and (max-width: 1023px) {
  .sr-ft-columns {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 32px 24px !important;
  }

  .sr-ft-col {
    border-bottom: none !important;
    padding: 0 !important;
  }

  .sr-ft-col-details > summary {
    pointer-events: none !important;
    cursor: default !important;
  }

  .sr-ft-col-details > summary::after {
    display: none !important;
  }

  .sr-ft-col-details .sr-ft-col-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
  }
}
