/* 메뉴 페이지 끝과 푸터 사이에 화면 높이만큼 빈 공간이 생기지 않도록 문서 흐름을 고정한다. */
#app {
  display: block !important;
  min-height: 0 !important;
}

/* 본문과 푸터는 실제 콘텐츠 높이만 사용한다. */
#page-content {
  display: block;
  flex: none !important;
  min-height: 0 !important;
}

#site-footer {
  display: block;
  flex: none !important;
  min-height: 0 !important;
  margin-top: 0;
}

/* 기존 각 화면의 고정 하단 여백은 푸터와 고정 하단 메뉴 안전영역이 대신한다. */
#page-content > div > .container[style*="padding-bottom:90px"],
#page-content > div > .container[style*="padding-bottom:80px"],
#page-content > div > .container[style*="padding-bottom:72px"],
#page-content > div > .container[style*="padding-bottom:70px"],
#page-content > .container[style*="padding-bottom:90px"],
#page-content > .container[style*="padding-bottom:80px"],
#page-content > .container[style*="padding-bottom:72px"],
#page-content > .container[style*="padding-bottom:70px"] {
  padding-bottom: 26px !important;
}

/* 홈 화면 마지막 카드 뒤 이중 여백을 축소한다. */
#page-content > div[style*="padding-bottom:60px"] {
  padding-bottom: 18px !important;
}

#page-content .cta-section {
  margin-bottom: 12px !important;
}

@media (max-width: 520px) {
  #page-content > div > .container[style*="padding-bottom:90px"],
  #page-content > div > .container[style*="padding-bottom:80px"],
  #page-content > div > .container[style*="padding-bottom:72px"],
  #page-content > div > .container[style*="padding-bottom:70px"],
  #page-content > .container[style*="padding-bottom:90px"],
  #page-content > .container[style*="padding-bottom:80px"],
  #page-content > .container[style*="padding-bottom:72px"],
  #page-content > .container[style*="padding-bottom:70px"] {
    padding-bottom: 18px !important;
  }

  #page-content > div[style*="padding-bottom:60px"] {
    padding-bottom: 10px !important;
  }

  #page-content .cta-section {
    margin-bottom: 8px !important;
  }
}
